在Android中禁用复选框

Sch*_*ore 4 checkbox android

我想创建一个提供三种不同状态的复选框:未选中,"半"选中并选中.为了与当前系统风格保持一致,我想使用灰色显示/禁用样式作为"半"检查状态,但我找不到任何定义此外观的drawable.如何在不真正禁用复选框的情况下禁用复选框?提前致谢!

use*_*982 6

我花了很长时间试图完全按照你的要求去做,最后意识到一个相当简单的解决方案是可行的(至少对我而言).我只是减少半检查状态的不透明度,并恢复完全检查状态的不透明度,而不是使用我自己的drawable和样式,或者尝试获取未记录的系统资源.例如,我执行以下操作:

if (half_checked)
    checkBox.setAlpha(0.4f);
else
    checkBox.setAlpha(1.0f);
Run Code Online (Sandbox Code Playgroud)

这会产生如下结果: 半检查状态


smk*_*smk 0

由于复选框是按钮的一种,因此适用于按钮的任何状态也适用于它。

这里是关于 android 按钮不同状态的讨论 如何使按钮变灰?