4

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

4

4 回答 4

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>
于 2016-04-22T13:04:52.423 回答
1

实际上我们不能为drawable设置alpha,而是你应该使用这个 setAlpha(int alpha) 为drawable指定一个alpha值。

于 2011-12-22T07:34:47.067 回答
-1

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

基本上,您可以使用 BitmapDrawable 的 alpha,然后在选择器中使用该可绘制对象。

于 2015-03-16T14:05:02.647 回答
-1
Drawable card_water_wave = getResources().getDrawable(R.drawable.textview_back);
card_water_wave.setAlpha(150);
于 2012-11-06T07:53:58.563 回答