美文网首页5.0新控件
Android 官方 switch 控件更改选中色

Android 官方 switch 控件更改选中色

作者: Uk00 | 来源:发表于2017-10-11 09:49 被阅读65次

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


    默认粉红色

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

    http://blog.csdn.net/welovesunflower/article/details/7990670
    http://blog.csdn.net/wanghang1208/article/details/49763993?spm=5176.8246799.blogcont.5.3PwpoH
    这两篇资料的实现就过于复杂(其中代码实现方式未测试)。
    后在stackoverflow 上找到以下解决办法:
    https://stackoverflow.com/questions/11253512/change-on-color-of-a-switch
    更改资源文件下的 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"
    

    相关文章

      网友评论

        本文标题:Android 官方 switch 控件更改选中色

        本文链接:https://www.haomeiwen.com/subject/xjviyxtx.html