Peter
Peter

Reputation: 919

How to set transparent background for Image Button in code?

I can set ImageButton background transparent in layout.xml using:

android:background="@android:color/transparent"

How I can acomplish same thing using java code? Something like ib.setBackgroundColor(???);

Upvotes: 90

Views: 148248

Answers (7)

bsautner
bsautner

Reputation: 4822

Do it in your xml

<ImageButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/imageButtonSettings"
        android:layout_gravity="right|bottom"
        android:src="@drawable/tabbar_settings_icon"
        android:background="@android:color/transparent"/>

Upvotes: 33

MarsPeople
MarsPeople

Reputation: 1824

If you want to use android R class

textView.setBackgroundColor(ContextCompat.getColor(getActivity(), android.R.color.transparent));

and don't forget to add support library to Gradle file

compile 'com.android.support:support-v4:23.3.0'

Upvotes: 3

Zar E Ahmer
Zar E Ahmer

Reputation: 34370

DON'T USE A TRANSAPENT OR NULL LAYOUT because then the button (or the generic view) will no more highlight at click!!!

I had the same problem and finally I found the correct attribute from Android API to solve the problem. It can apply to any view

Use this in the button specifications

android:background="?android:selectableItemBackground"

This requires API 11

Upvotes: 12

Bunny
Bunny

Reputation: 1064

Try like this

ImageButton imagetrans=(ImageButton)findViewById(R.id.ImagevieID);

imagetrans.setBackgroundColor(Color.TRANSPARENT);

OR

include this in your .xml file in res/layout

android:background="@android:color/transparent 

Upvotes: 4

bourax webmaster
bourax webmaster

Reputation: 733

simply use this in your imagebutton layout

android:background="@null"

using

 android:background="@android:color/transparent 

or

 btn.setBackgroundColor(Color.TRANSPARENT);

doesn't give perfect transparency

Upvotes: 3

Parag Chauhan
Parag Chauhan

Reputation: 35976

This is the simple only you have to set background color as transparent

    ImageButton btn=(ImageButton)findViewById(R.id.ImageButton01);
    btn.setBackgroundColor(Color.TRANSPARENT);

Upvotes: 164

Abhinav Manchanda
Abhinav Manchanda

Reputation: 6641

This should work - imageButton.setBackgroundColor(android.R.color.transparent);

Upvotes: 13

Related Questions