将不透明度设置为ImageButton?

时间:2011-04-14 22:39:52

标签: android

我想为我的ImageButton设置不透明度,所以当它被取消选中时,我可以看到背景,当我按下它时 - 它变得正常(没有透明度)。

2 个答案:

答案 0 :(得分:0)

如果您使用的背景本身就是一个图像,那么您不能简单地“设置”透明度,它来自作为背景资源的png图像。我建议为按钮的不同阶段创建3个9-patch png图像,根据需要使用透明度,无论你喜欢哪个阶段。有关如何在ImageButton上的文档中为您自己的背景图像使用不同图形和xml配置文件的说明

http://developer.android.com/reference/android/widget/ImageButton.html

如果您使用纯色作为背景,则可以使用具有AARRGGBB作为元素的颜色代码来实现透明度。 android:background =“#55FF0000”将是部分透明的红色背景。

答案 1 :(得分:0)

使用选择器(http://developer.android.com/reference/android/content/res/ColorStateList.html)

布局代码看起来像那样:

android:background="@drawable/my_selector"

,选择器代码为my_selector.xml,内容如下:

<selector xmlns:android="http://schemas.android.com/apk/res/android" >
    <item android:state_pressed="true" android:drawable="@drawable/button_without_opactity" />
    <item android:state_selected="true" android:drawable="@drawable/button_without_opactity" />

    <item android:drawable="@drawable/button_with_opacity" />

</selector>

button_without_opacity&amp; button_with_opacity应为9-patches