更改开关按钮文字颜色

时间:2014-12-27 08:18:58

标签: android

我已成功使用Github中提供的以下自定义类Switch Button Demo class

在我的应用程序中创建一个切换按钮

以下是我得到的快照Swith button

一切都很好,除了一件事,我想将文本颜色设置为黑色以获得未经检查的状态。我的意思是" 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更改为黑色,但没有给我所需的结果。请帮助我实现理想的结果。

1 个答案:

答案 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>

<强>更新

使用SwitchCompact

  

SwitchCompat是Switch小部件的一个版本,它在设备上返回API v7。它没有尝试在那些通常可用的设备上使用平台提供的小部件。