style/v21
中的按钮有以下选择器
//button_clor_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
的褪色/透明版本
还有人知道禁用按钮的标准安卓透明度是什么吗?
我仍然不知道为什么在v21
中,我们现在必须明确地给出禁用的颜色。在v21之前,它运行得很好。
您可以更改alpha并在代码中禁用它,如下所示:
button.setAlpha(.5f);
button.setClickable(false);
这可能在活动创建的检查中。
实现这一点的简单方法是简单地将alpha值添加到colors.xml.中的颜色值本身
例如,如果按钮颜色为红色:#ff0000
,只需在其前面添加一个50%的alpha值:#80ff0000
(80十六进制对应128十进制=256(ff十六进制)的50%
现在你有了一种颜色,它只是你原来颜色的一个稍微"褪色"的版本。alpha值只是一个百分比,00-99,所以你可以使用这些数字来获得合适的渐变量。
您可以使用alpha来更改对象的透明度
android:alpha="0.0"这是不可见的
android:alpha="0.5"透视
android:alpha="1.0"完全可见