2015-09-28 127 views
3

我有一个背景为白色的活动,并添加了一个switchcompat,但是当开关未处于活动状态时(关闭),轨道不可见。所有可见的是拇指,因此对用户来说它根本不是一个明显的开关。当开关处于非工作位置时,如何使开关的轨迹可见?Android:在白色背景下跟踪不可见的switchcompat

    <android.support.v7.widget.SwitchCompat 
         android:id="@+id/someswitchname" 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:layout_alignParentRight="true" 
         android:layout_alignParentEnd="true" 
         /> 
+1

偏离轨道的颜色与'android:colorForeground'类似,确保您的主题不会将其设置为“白色”,或将其设置为其他颜色。 – njzk2

+0

@ njzk2 - 感谢您的帮助。 android:colorForeground确实会改变轨道的颜色..但是我无法在较深的彩色轨道上放置一个浅色的拇指 - 而不管我在前景中设置了什么,它坚持在较轻的轨道上设置较暗的拇指。任何想法,为什么这可能是? – Jon

+0

这可能是因为你使用的主题。什么是主题或你的活动? – njzk2

回答

3

做到这一点的方法是定义一个定制的主题是这样的:

<style name="Custom.SwitchCompat.WhiteTrack" parent="Base.Widget.AppCompat.CompoundButton.Switch"> 
     <!-- Inactive track color(30% transparency) --> 
     <item name="android:colorForeground">[some color]</item> 
    </style> 

然后定义你的布局主题是这样的:

android:theme="@style/Custom.SwitchCompat.WhiteTrack" 

等就万事大吉了。