在XML中的BitmapDrawable上设置alpha

时间:2011-09-29 02:46:17

标签: android xml drawable

我想知道是否可以为Drawable设置XML的透明度。 在这种情况下,它设置按钮的禁用状态。我不想使用单独的图像,而是想通过更改alpha来创建灰显的版本。我知道我可以在代码中做到这一点。但是它也可以用XML预定义吗?

2 个答案:

答案 0 :(得分:3)

从以下版本开始:API Level 11可用于View。但是如果我们谈论的是ImageView,那么它就是API级别1以来的一个tint属性。

http://developer.android.com/reference/android/widget/ImageView.html#attr_android:tint

http://developer.android.com/reference/android/view/View.html#attr_android:alpha

答案 1 :(得分:1)

我一直在寻找同样的事情。即使这是四年前发布的,这是谷歌搜索问题的最高职位之一,所以我会在这里回复。

这是我的解决方案

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_enabled="false">
        <bitmap android:alpha="@integer/disabled_alpha" android:src="@drawable/item"/>
    <item/>
    <item android:state_enabled="true" android:drawable="@drawable/item" />
</selector>