2014-12-27 45 views
0

我能成功使用可用下面的自定义类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

您需要定义textColorcolor-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是一个版本的开关部件的该设备上回API V7。它不会使任何企图利用它可通常这些设备部件提供了平台。

+0

我想这一个,但它不改变文字颜色 – Nirmal

+0

@ user3649775,它会工作,或许真的实施过程中出错,您可以尝试使用'SwitchCompact'从谷歌的支持库。它将允许在早期版本的Android中使用开关。 – gio