我尝试为所有按钮应用简单的文本颜色选择器。我覆盖默认的Button样式并在我的应用程序主题(AppTheme)中使用它。它在android 5及更高版本上按预期工作,但它不能在android 4上运行。查看我的代码。
styles.xml
<resources>
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="android:buttonStyle">@style/Button</item>
</style>
<style name="Button" parent="Widget.AppCompat.Button">
<item name="android:textColor">@drawable/btn_text_color_selector</item>
</style>
</resources>
btn_text_color_selector.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="@color/colorPrimary" android:state_enabled="false"></item>
<item android:color="@color/colorAccent"></item>
</selector>
colors.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="colorPrimary">#3F51B5</color>
<color name="colorPrimaryDark">#303F9F</color>
<color name="colorAccent">#FF4081</color>
</resources>
activity_main.xml中
<?xml version="1.0" encoding="utf-8"?>
<Button xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Kalės vaikas" />
答案 0 :(得分:0)
而不是使用btn_text_color_selector.xml
,为什么不添加android:textColor =“@ color / colorPrimary”:
喜欢这个
<Button xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:textColor="@color/colorPrimary"
android:layout_height="wrap_content"
android:text="Kalės vaikas" />
这将维护所有平台。