Android 开关按钮颜色在 4.0.4 中没有改变
Android Switch button color not changing in 4.0.4
我使用了 Switch 按钮,当应用程序 运行 它在 4.2 及更高版本上时一切正常,但文本颜色在 4.0.4 中根本没有更改为白色我已经尝试了所有可能的解决方案
我的开关:
<Switch
android:layout_width="100dp"
android:layout_height="wrap_content"
android:layout_below="@+id/facilityassetdescription"
android:layout_centerHorizontal="true"
android:layout_marginTop="7dp"
android:background="@drawable/offbuttonbg"
android:textColor="@style/toggle_text"
android:textOff="OFF"
android:textOn="ON"
android:thumb="@drawable/switchselector" />
我的样式文件
<style name="toggle_text">
<item name="android:textColor">@color/toggle</item>
</style>
res/color/toggle_text.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_checked="true" android:color="#ffffff"/>
<!-- Default State -->
<item android:color="#ffffff"/>
</selector>
请提供任何解决此问题的想法
使用以下样式:
<style name="toggle_text" parent="@android:style/TextAppearance.Small">
<item name="android:textColor">@color/toggle</item>
</style>
并且,在 xml 文件中为开关提及 android:switchTextAppearance 属性而不是使用 android:textColor:
<Switch
android:layout_width="100dp"
android:layout_height="wrap_content"
android:layout_below="@+id/facilityassetdescription"
android:layout_centerHorizontal="true"
android:layout_marginTop="7dp"
android:background="@drawable/offbuttonbg"
android:switchTextAppearance="@style/toggle_text"
android:textOff="OFF"
android:textOn="ON"
android:thumb="@drawable/switchselector" />
使用支持7 SwitchCompat
并在你的风格中加入 <item name="colorSwitchThumbNormal">#E21D1D</item>
和 <item name="colorSwitchThumbNormal">#E21D1D</item>
在你的主题中
<android.support.v7.widget.SwitchCompat
android:id="@+id/switch_options"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:padding="5dp"
app:showText="false" >
</android.support.v7.widget.SwitchCompat>
好运!!
You can use Switch-Compat intend of Switch using support v7
library.Try new concept
my.xml
<android.support.v7.widget.SwitchCompat
android:id="@+id/sc_push"
style="@style/switchStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:theme="@style/switchStyle"
app:theme="@style/switchStyle" />
style.xml
<style name="switchStyle">
<item name="colorControlActivated">@color/red</item>
<item name="android:colorForeground">@color/gray</item>
</style>
Best of luck
如果以上答案无效,请尝试此操作..
<androidx.appcompat.widget.SwitchCompat
android:id="@+id/switch_is_in_stock"
style="@style/proximaNovaNormalColorBlack.size14"
android:layout_width="0dp"
android:layout_height="0dp"
android:maxLines="1"
android:padding="4dp"
android:textColor="@color/switch_thumb_selector"/>
答案在 xml 行 -> android:textColor="@color/switch_thumb_selector"
我使用了 Switch 按钮,当应用程序 运行 它在 4.2 及更高版本上时一切正常,但文本颜色在 4.0.4 中根本没有更改为白色我已经尝试了所有可能的解决方案
我的开关:
<Switch
android:layout_width="100dp"
android:layout_height="wrap_content"
android:layout_below="@+id/facilityassetdescription"
android:layout_centerHorizontal="true"
android:layout_marginTop="7dp"
android:background="@drawable/offbuttonbg"
android:textColor="@style/toggle_text"
android:textOff="OFF"
android:textOn="ON"
android:thumb="@drawable/switchselector" />
我的样式文件
<style name="toggle_text">
<item name="android:textColor">@color/toggle</item>
</style>
res/color/toggle_text.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_checked="true" android:color="#ffffff"/>
<!-- Default State -->
<item android:color="#ffffff"/>
</selector>
请提供任何解决此问题的想法
使用以下样式:
<style name="toggle_text" parent="@android:style/TextAppearance.Small">
<item name="android:textColor">@color/toggle</item>
</style>
并且,在 xml 文件中为开关提及 android:switchTextAppearance 属性而不是使用 android:textColor:
<Switch
android:layout_width="100dp"
android:layout_height="wrap_content"
android:layout_below="@+id/facilityassetdescription"
android:layout_centerHorizontal="true"
android:layout_marginTop="7dp"
android:background="@drawable/offbuttonbg"
android:switchTextAppearance="@style/toggle_text"
android:textOff="OFF"
android:textOn="ON"
android:thumb="@drawable/switchselector" />
使用支持7 SwitchCompat
并在你的风格中加入 <item name="colorSwitchThumbNormal">#E21D1D</item>
和 <item name="colorSwitchThumbNormal">#E21D1D</item>
在你的主题中
<android.support.v7.widget.SwitchCompat
android:id="@+id/switch_options"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:padding="5dp"
app:showText="false" >
</android.support.v7.widget.SwitchCompat>
好运!!
You can use Switch-Compat intend of Switch using support v7 library.Try new concept
my.xml
<android.support.v7.widget.SwitchCompat android:id="@+id/sc_push" style="@style/switchStyle" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:layout_centerVertical="true" android:theme="@style/switchStyle" app:theme="@style/switchStyle" />
style.xml
<style name="switchStyle"> <item name="colorControlActivated">@color/red</item> <item name="android:colorForeground">@color/gray</item> </style>
Best of luck
如果以上答案无效,请尝试此操作..
<androidx.appcompat.widget.SwitchCompat
android:id="@+id/switch_is_in_stock"
style="@style/proximaNovaNormalColorBlack.size14"
android:layout_width="0dp"
android:layout_height="0dp"
android:maxLines="1"
android:padding="4dp"
android:textColor="@color/switch_thumb_selector"/>
答案在 xml 行 -> android:textColor="@color/switch_thumb_selector"