我在style/v21
// button_color_state.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- Disable background -->
<item android:state_enabled="false" android:color="#dfdfdf"/>
<!-- Enabled background -->
<item android:color="@color/buttonColor"/>
</selector>
现在而不是明确说明按钮被禁用时将其变为灰色。我可以不怎么说,只要让它成为@color/buttonColor
还有谁知道禁用按钮的标准android透明度是什么?
我仍然不知道为什么在v21
我们现在必须明确地给出禁用的颜色。在v21之前它运作得很好。
答案 0 :(得分:4)
你可以更改alpha并在代码上禁用它,如下所示:
button.setAlpha(.5f);
button.setClickable(false);
这可能是对活动创建的检查。
答案 1 :(得分:0)
这样做的简单方法是在colors.xml中简单地将alpha值添加到颜色值本身。
例如,如果您的按钮颜色为红色:#ff0000
,只需在其前面添加50%的alpha值:#80ff0000
(80十六进制对应于128十进制= 256的50%(ff hex)
现在您的颜色只是原始颜色的略微“褪色”版本。 alpha值只是一个百分比,00-99,因此您可以使用数字来获得适合您颜色的淡入淡出量。
答案 2 :(得分:0)
您可以使用alpha来更改对象的透明度
android:alpha =“0.0”,这是不可见的
android:alpha =“0.5”透视
android:alpha =“1.0”完全可见