我已成功使用Github中提供的以下自定义类Switch Button Demo class
在我的应用程序中创建一个切换按钮以下是我得到的快照
一切都很好,除了一件事,我想将文本颜色设置为黑色以获得未经检查的状态。我的意思是" OFF" 文本颜色在未选中时为黑色。我试图在我的自定义类上添加一些条件,但它没有给我正确的结果。 我的style.xml文件是这样的
<style name="mySwitchStyle">
<item name="track">@drawable/switch_track_green</item>
<item name="thumb">@drawable/background_fenced</item>
<item name="switchTextAppearanceAttrib">@style/mySwitchTextAppearance</item>
<item name="textOn">ON</item>
<item name="textOff">OFF</item>
<item name="pushStyle">false</item>
<item name="textOnThumb">true</item>
<item name="thumbExtraMovement">0dp</item>
<item name="thumbTextPadding">6dp</item>
<item name="trackTextPadding">6dp</item>
<item name="switchMinWidth">69dp</item>
<item name="switchMinHeight">36dp</item>
<item name="switchPadding">6dp</item>
</style>
<style name="mySwitchTextAppearance">
<item name="textColor">#FFeeFFee</item>
<item name="textColorHighlight">#FFeeFFee</item>
<item name="textColorHint">#FFeeFFee</item>
<item name="textColorLink">#FFeeFFee</item>
<item name="textSize">16sp</item>
<item name="textStyle">normal</item>
</style>
我尝试将textColorHighlight,textColorHint,textColorLink更改为黑色,但没有给我所需的结果。请帮助我实现理想的结果。
答案 0 :(得分:1)
您需要将textColor
定义为color-list
<?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"/> <!-- checked, white -->
<item android:color="#000000"/> <!-- default, black -->
</selector>
<强>更新强>
SwitchCompat是Switch小部件的一个版本,它在设备上返回API v7。它没有尝试在那些通常可用的设备上使用平台提供的小部件。