我在styles.xml中设置了我的应用程序。我有这个custom_checkbox.xml:
<CheckBox
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/checkboxForActionBar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:text="10%"
android:textColor="@android:color/white"
app:theme="@style/AppTheme"
/>
我在styles.xml设置复选框颜色,colorControlNormal
和colorControlActivated
:
<?xml version="1.0" encoding="utf-8"?>
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="colorAccent">@color/accent</item>
<item name="android:textColor">@color/primary_text</item>
<item name="android:colorControlNormal">@android:color/white</item>
<item name="android:colorControlActivated">@color/accent</item>
</style>
另外,我有一个alertDialog,其复选框用:
创建 final AlertDialog.Builder builder = new AlertDialog.Builder(new ContextThemeWrapper(getContext(), R.style.CustomDialog)).setTitle("Title here").setMultiChoiceItems(mItems, mSelection, this);
复选框中的颜色在styles.xml中设置,textColor属性除外。
问题是:alertDialog复选框中的文本没有得到styles.xml中android:textColor
的颜色集。此外,当我从custom_checkbox中删除android:textColor
属性时,AppTheme中的textColor属性不会设置文本的颜色。
为什么会这样? textColor是Styles.xml中的正确属性来设置这种文本的颜色吗?
答案 0 :(得分:0)
我刚刚发现。 textColorPrimaryDisableOnly
修复了我的custom_checkbox中的文本,并修复了对话框列表中的textColorAlertDialogListItem
。
只需在styles.xml中添加这些:
<item name="android:textColorPrimaryDisableOnly">@android:color/white</item>
<item name="android:textColorAlertDialogListItem">@android:color/white</item>