我已经更新了我的项目以使用最新的appcompat支持库,新版本使用了材料设计复选框和单选按钮。我的应用程序是黑色主题的,复选框是黑色的,很难看到。我正在尝试根据Maintaining Compatibility更改它们的颜色,但到目前为止还没有起作用。
res/values/styles.xml
<style name="AppBaseTheme" parent="@style/Theme.AppCompat.Light">
<!-- customize the color palette -->
<item name="colorAccent">@color/silver</item>
</style>
Build.gradle中的:
android {
compileSdkVersion 21
buildToolsVersion '21.1.1'
defaultConfig {
minSdkVersion 9
targetSdkVersion 19
}
}
.....
.....
compile 'com.android.support:appcompat-v7:21.0.0'
AndroidManifest.xml:
<application
android:name="ee.mtakso.App"
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppBaseTheme">
复选框、editTexts、单选按钮等保持黑色。
编辑
我不知道这是否有什么不同,但我使用的单选按钮和复选框是用于CheckedTextView
的,如下所示:
Single (单选按钮): android:checkMark="?android:attr/listChoiceIndicatorSingle"
多个(复选框): android:checkMark="?android:attr/listChoiceIndicatorMultiple"
由于这些得到的黑色材料可绘制,我认为问题不是来自他们。
发布于 2014-11-11 02:42:46
我在未检查的 CheckBoxes和RadioButtons上也遇到了类似的问题。我找到了解决方案,当我发现控件将它们的颜色从
<item name="android:textColorSecondary">@color/secondary_text</item>
编辑:
指定如果您的应用程序或activity的主题继承了L的AppCompat (暗/亮/亮.DarkActionBar)之一,您可以设置:
<style name="SampleTheme" parent="Theme.AppCompat">
<item name="colorAccent">@color/green</item>
<item name="android:textColorSecondary">@color/red</item>
</style>
这就是结果:
注意:当你得到不同的效果时,你可能使用了“错误的”主题--确保你设置正确。
发布于 2015-01-17 00:05:05
我认为这是AppCompat主题中的一个错误。我的变通方法是向xml布局文件中的每个CheckBox添加两行代码。
android:button="@drawable/abc_btn_check_material"
android:buttonTint="@color/colorAccent"
您永远不会真正想直接引用abc_可绘制内容,但在这种情况下,我找不到其他解决方案。
这也适用于RadioButton小部件!您只需使用abc_btn_radio_material而不是abc_btn_check_material
发布于 2016-04-28 04:43:56
我这样做是为了至少更改复选框的边框:
<style name="checkBoxComponent" parent="AppTheme">
//Checked color
<item name="colorAccent">@color/blueBackground</item>
//Checkbox border color
<item name="android:textColorSecondary">@color/grayBorder</item>
</style>
在我的布局中
<android.support.v7.widget.AppCompatCheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:theme="@style/checkBoxComponent"
android:text="Yay" />
不过,我还在想如何获得复选框的背景。希望能有所帮助。
https://stackoverflow.com/questions/26843098
复制相似问题