通过xml设置drawable的alpha

时间:2011-10-17 11:20:57

标签: android xml android-layout xml-drawable

我们可以通过XML为其禁用状态设置drawable的alpha吗?例如,通过使用android:state_disable。

4 个答案:

答案 0 :(得分:3)

这是我的解决方案,希望有人觉得这很有用。是的,这是旧帖子,但这样的帖子需要一个今天有效的答案,因为它们会在您搜索时出现。

<?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>

答案 1 :(得分:1)

实际上我们不能为drawable设置alpha而你应该使用它 setAlpha(int alpha) 指定drawable的alpha值。

答案 2 :(得分:-1)

Drawable card_water_wave = getResources().getDrawable(R.drawable.textview_back);
card_water_wave.setAlpha(150);

答案 3 :(得分:-1)

请参阅我对类似问题的回答: https://stackoverflow.com/a/29078730/562365

基本上你可以使用BitmapDrawable的alpha,然后在你的选择器中使用那个drawable。