Reputation: 16780
<ImageButton android:id="@+id/previous"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/media_skip_backward"
android:background="@drawable/transparent"></ImageButton>
This is what I tried to get a transparent ImageButton so as to place those buttons on a SurfaceView. But Eclipse, gives me an error in the project as soon as I include the transparent line in xml.
Please help.
Upvotes: 551
Views: 334145
Reputation: 21
you can either use: android:background="#00000000"
or android:backgroundTint="#00000000"
Upvotes: 2
Reputation: 415
Dont forget to add padding, it helps to show button effect. Add padding to adjust with this background.
android:background="?android:selectableItemBackground"
android:padding="5dp"
Upvotes: 0
Reputation: 4900
If you want to do it in a .xml
use the below code:
android:background="@null"
And, here is an example of doing it programmatically
yourButton.setBackgroundResource(0);
Upvotes: 0
Reputation: 1312
It works and also keeps visual feedback for button clicked,
android:backgroundTintMode="screen"
Upvotes: 1
Reputation: 21
You can use the following code works just fine by setting the background to transparent:
<ImageButton
android:id="@+id/previous"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/media_skip_backward"
android:background="transparent"></ImageButton>
Upvotes: 2
Reputation: 1944
Don't use null or transparent if you need a click animation. Better:
//Rectangular click animation
android:background="?attr/selectableItemBackground"
//Rounded click animation
android:background="?attr/selectableItemBackgroundBorderless"
Upvotes: 12
Reputation: 376
I was already adding something to the background so , This thing worked for me:
android:backgroundTint="@android:color/transparent"
(Android Studio 3.4.1)
EDIT: only works on android api level 21 and above. for compatibility, use this instead
android:background="@android:color/transparent"
Upvotes: 2
Reputation: 1091
It's android:background="@android:color/transparent"
<ImageButton
android:id="@+id/imageButton"
android:src="@android:drawable/ic_menu_delete"
android:background="@android:color/transparent"
/>
Upvotes: 1
Reputation: 15936
Use ImageView
... it have transparent background by default...
Upvotes: 2
Reputation: 546
Use "@null" . It worked for me.
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:srcCompat="@drawable/bkash"
android:id="@+id/bid1"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:background="@null" />
Upvotes: 1
Reputation: 489
Set the background of the ImageButton as @null in XML
<ImageButton android:id="@+id/previous"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/media_skip_backward"
android:background="@null"></ImageButton>
Upvotes: 1
Reputation: 3916
Use this:
<ImageButton
android:id="@+id/back"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@null"
android:padding="10dp"
android:src="@drawable/backbtn" />
Upvotes: 2
Reputation: 25134
I believe the accepted answer should be:
android:background="?attr/selectableItemBackground"
This is the same as @lory105's answer but it uses the support library for maximum compatibility (the android:
equivalent is only available for API >= 11)
Upvotes: 11
Reputation: 9103
Programmatically it can be done by :
image_button.setAlpha(0f) // to make it full transparent
image_button.setAlpha(0.5f) // to make it half transparent
image_button.setAlpha(0.6f) // to make it (40%) transparent
image_button.setAlpha(1f) // to make it opaque
Upvotes: 0
Reputation: 34360
This is programatically set background color as transparent
ImageButton btn=(ImageButton)findViewById(R.id.ImageButton01);
btn.setBackgroundColor(Color.TRANSPARENT);
Upvotes: 0
Reputation: 1700
The best way is using the transparent color code
android:background="#00000000"
use the color code #00000000 for making any thing transparent
Upvotes: 5
Reputation: 6302
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"
Upvotes: 373
Reputation: 9128
Setting the background to "@null"
will make the button have no effect when clicked. This will be a better choice.
style="?android:attr/borderlessButtonStyle"
Later I found that using
android:background="?android:attr/selectableItemBackground"
is also a good solution. And you can inherit this attribute in your own style.
Upvotes: 122
Reputation: 13
<ImageButton
android:id="@+id/previous"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/media_skip_backward">
</ImageButton>
I used a transparent png
for the ImageButton
, and the ImageButton
worked.
Upvotes: -2
Reputation: 9429
in run time, you can use following code
btn.setBackgroundDrawable(null);
Upvotes: 14
Reputation: 1908
You can also use a transparent color:
android:background="@android:color/transparent"
Upvotes: 145
Reputation: 3442
Remove this line :
android:background="@drawable/transparent">
And in your activity class set
ImageButton btn = (ImageButton)findViewById(R.id.previous);
btn.setAlpha(100);
You can set alpha level 0 to 255
o means transparent and 255 means opaque.
Upvotes: 8
Reputation: 82325
Try using null for the background ...
android:background="@null"
Upvotes: 1072