android ImageButton gets gray background

大憨熊 提交于 2019-12-05 12:23:34
kdumitru

ImageButton should have android:background set.

<ImageButton 
    android:id="@+id/ibArrow"
    android:layout_width="35px"
    android:layout_height="50px"
    android:src="@drawable/arrow"
    android:background="@drawable/backgroundstate" />   

And backgroundstate:

    <?xml version="1.0" encoding="utf-8"?>
    <selector xmlns:android="http://schemas.android.com/apk/res/android">
        <item android:state_selected="true" android:drawable="@color/transparent" />
        <item android:state_pressed="true" android:drawable="@color/transparent" />
    <item android:drawable="@color/transparent" />
   </selector>

What @kdumitru said, but with the correct XML stylesheet:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_selected="true" android:drawable="@android:color/transparent" />
    <item android:state_pressed="true" android:drawable="@android:color/transparent" />
    <item android:drawable="@android:color/transparent" />
</selector>

I would say you might not be referencing the image correctly in R.drawable maybe you need to place image in drawable? ImageView does work.

Can you post a screenshot of what you're seeing? Hard to tell exactly what you're saying, but it sounds like your src image may not have a proper alpha channel. Is it a PNG with transparency? Make sure your src image is a properly saved, transparent PNG image.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!