【问题标题】:Android: track invisible for switchcompat when on white backgroundAndroid:在白色背景下跟踪 switchcompat 不可见
【发布时间】:2015-09-28 00:05:53
【问题描述】:

我有一个背景为白色的活动,我添加了一个 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"
                        />

【问题讨论】:

  • 偏离轨道的颜色类似于android:colorForeground,请确保您的主题没有将其设置为white,或将其设置为其他颜色。
  • @njzk2 - 感谢您的帮助。 android:colorForeground 确实改变了轨道的颜色.. 但是我无法将浅色拇指放在深色轨道上 - 相反,无论我在前景中设置什么,它都坚持在较浅的轨道上设置深色拇指。知道为什么会这样吗?
  • 这可能是因为您使用的主题。主题或您的活动是什么?
  • @njzk2 我正在使用 Theme.AppCompat.NoActionBar
  • 你试过theme.appcompat.light吗?

标签: java android user-interface switch-statement


【解决方案1】:

这样做的方法是定义一个这样的自定义主题:

<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"

等等。

【讨论】:

    猜你喜欢
    • 2017-11-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-12
    • 1970-01-01
    • 2015-01-27
    • 2012-12-19
    • 1970-01-01
    相关资源
    最近更新 更多