Android 官方 switch 控件更改选中色

本文介绍如何在Android Studio 2.3.2中自定义Switch控件的颜色,包括选中和未选中状态下的颜色调整。通过修改样式文件中的颜色属性实现,提供了一个简单有效的解决方案。

此为一篇使用笔记 用studio 2.3.2 添加官方switch 控件时发现其选中后的颜色不好更改

这是其默认的色彩,在各个属性中并没有找到更改这红色的属性

blog.youkuaiyun.com/welovesunfl… blog.youkuaiyun.com/wanghang120… 这两篇资料的实现就过于复杂(其中代码实现方式未测试)。 后在stackoverflow 上找到以下解决办法: stackoverflow.com/questions/1… 更改资源文件下的 style 颜色

<style name="Theme.MyTheme" parent="Theme.AppCompat.Light"> 
      <!-- colorPrimary is used for the default action bar background 用于默认操作栏的背景--> 
      <item name="colorPrimary">@color/my_awesome_color</item> 

      <!-- colorPrimaryDark is used for the status bar 主要用于状态栏--> 
      <item name="colorPrimaryDark">@color/my_awesome_darker_color</item> 

      <!-- colorAccent is used as the default value for colorControlActivated, which is used to tint widgets 用于色彩控制器的默认值,用来给小部件着色--> 
      <item name="colorAccent">@color/accent</item> 

      <!-- You can also set colorControlNormal, colorControlActivated colorControlHighlight, and colorSwitchThumbNormal. --> 
</style>
复制代码

得到下面效果

今天新增一个 style 设置,是从 SwitchCompat 控件上参考过来的

<style name="MySwitch" parent="Theme.AppCompat.Light"> 
     <!-- Active thumb color & Active track color(30% transparency) switch 打开时的拇指按钮的颜色 轨迹颜色默认为30%这个颜色 --> 
     <item name="colorControlActivated">@color/theme_color_green</item> 

     <!-- Inactive thumb color switch关闭时的拇指按钮的颜色 --> 
     <item name="colorSwitchThumbNormal">@color/theme_color_gray</item> 

     <!-- Inactive track color(30% transparency) switch关闭时的轨迹的颜色 30%这个颜色 --> 
     <item name="android:colorForeground">@color/colorAccent</item> 

     <!--使用方法: 在布局文件中给需要自定义控件中增加app:theme="@style/MySwitch"--> 
</style>
复制代码

使用方法:   >     在布局文件中给需要自定义控件中增加 android:theme="@style/MySwitch"

如果是 SwitchCompat 控件,则是增加 app:theme="@style/MySwitch"
复制代码

转载于:https://juejin.im/post/5a31de8c6fb9a0451969991f

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值