所以,我想对 AppCompat Checkbox 应用 tint。
在 Lollipop 上一切正常:
android:buttonTint="@color/purple_FF4081"
或者这样:
android:theme="@style/Theme.MyTheme.PurpleAccent"
但设置任何此参数都不会改变 Lollipop 之前的任何内容。仅当我为应用程序主题设置 colorAccent
时才有效。但我不希望所有小部件都改变它们的外观,只需要一个复选框。
有没有办法在不设置彩色绘图的情况下做到这一点?
最佳答案
请注意,在引入 AppCompatActivity 和新的支持库 for reference (outlined beautifully here) 后,这一切都发生了变化。可以通过使用 theme
属性并设置 colorControlNormal
和 colorControlActivated
为复选框着色:
styles.xml
<style name="MyCheckBox" parent="Theme.AppCompat.Light">
<item name="colorControlNormal">@color/indigo</item>
<item name="colorControlActivated">@color/pink</item>
</style>
布局xml:
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checked="true"
android:text="Check Box"
android:theme="@style/MyCheckBox"/>
关于android - v21 之前的着色复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26532045/