首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SwitchCompat更改颜色

SwitchCompat更改颜色
EN

Stack Overflow用户
提问于 2015-09-01 17:23:18
回答 2查看 7.7K关注 0票数 4

我需要更改SwitchCompat的轨迹颜色。我试过this,但它对我不起作用。这是我的XML文件的代码

代码语言:javascript
复制
<android.support.v7.widget.SwitchCompat
    android:id="@+id/sc_push"
    style="@style/switchStyle"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
    android:layout_centerVertical="true"
    android:theme="@style/switchStyle"
    app:theme="@style/switchStyle" />

这是我的style.xml文件

代码语言:javascript
复制
<style name="switchStyle">
    <item name="colorControlActivated">@color/red</item>
    <item name="android:colorForeground">@color/gray</item>
</style>

看起来是什么问题?

此外,我不能更改活动的颜色或基础应用程序的颜色。我必须为这个单独的视图更改颜色。

EN

回答 2

Stack Overflow用户

发布于 2016-02-05 12:51:23

试试这段代码。

代码语言:javascript
复制
 <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
       ...
       <!-- Active thumb color & Active track color(30% transparency) -->
       <item name="colorControlActivated">@color/theme</item>
       <!-- Inactive thumb color -->
       <item name="colorSwitchThumbNormal">@color/grey300</item>
       <!-- Inactive track color(30% transparency) -->
       <item name="android:colorForeground">@color/grey600</item>
       ...
    </style>
票数 13
EN

Stack Overflow用户

发布于 2022-01-31 08:01:58

更好的方法是,

  1. 使用选择器标记创建新的资源文件switch_track_color.xml。

代码语言:javascript
复制
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:color="#15A215" android:state_checked="true"/>
    <item android:color="#BAC7CB" android:state_checked="false"/>

</selector>

  1. 在SwitchCompat中使用此样式。

代码语言:javascript
复制
<style name="SwitchStyle">
   <item name="thumbTint">#ffffff</item>
   <item name="trackTint">@color/switch_track_color</item>
</style>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32327920

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档