Android 滑动按钮(开关) SwitchCompat 自定义风格

这篇具有很好参考价值的文章主要介绍了Android 滑动按钮(开关) SwitchCompat 自定义风格。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

原生的SwitchCompat控件如下图,不说不堪入目,也算是不敢恭维了。开个玩笑...

android switchcompat,android

所以我们就需要对SwitchCompat进行自定义风格,效果如下图

android switchcompat,android

代码如下

    <androidx.appcompat.widget.SwitchCompat
        android:id="@+id/switch_compat"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:thumb="@drawable/switch_thumb"
        app:switchMinWidth="60dp"
        app:track="@drawable/switch_track_style" />

从上面的xml代码来看其实只需要定制两个东西一个是thumb,另一个是track

switch_thumb

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="oval">
    <solid android:color="@color/white" />
    <size
        android:width="50dp"
        android:height="50dp" />
    <!-- 这里的5dp边距的作用是,圆点在轨道里面的边距,这样的效果感觉更好 -->
    <stroke
        android:width="5dp"
        android:color="#00000000" />
    <corners android:radius="15dp" />
</shape>

switch_track_style

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/switch_common_track_selected" android:state_checked="true" />
    <item android:drawable="@drawable/switch_common_track_unselected" android:state_checked="false" />
</selector>

switch_track_style里面有两个背景如下

switch_common_track_selected

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item >
        <shape android:shape="rectangle">
            <solid android:color="#23c3ff" />
            <size android:height="30dp" />
            <stroke
                android:color="#00000000" />
            <corners android:radius="30dp" />
        </shape>
    </item>
</layer-list>

switch_common_track_unselected

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <shape android:shape="rectangle">
            <solid android:color="#4D8E8E8E" />
            <size android:height="30dp" />
            <stroke
                android:color="#00000000" />
            <corners android:radius="30dp" />
        </shape>
    </item>
</layer-list>

完活了!!!文章来源地址https://www.toymoban.com/news/detail-778595.html

到了这里,关于Android 滑动按钮(开关) SwitchCompat 自定义风格的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Android 滑动条、Slider、Seekbar深度自定义

    为了更好的满足日常开发中对Slider控件的各种需要,以下我们来看下基于nifty-slider来定制我们所需的各种功能及交互效果 支持滑动条起始值结束值的自定义 支持滑动条指定步长以实现类似刻度的功能 支持对滑块的自定义以添加光环效果、滑块形状,滑块投影、滑块边框、滑

    2024年02月12日
    浏览(44)
  • Android sweet-alert-dialog 自定义按钮背景颜色

    sweet-alert-dialog这个怎么在项目中引入,我这里就不说了 大家可以看一下GitHub:GitHub - pedant/sweet-alert-dialog: SweetAlert for Android, a beautiful and clever alert dialog 我这里直接说明如何改弹窗的背景色 1.在你的styles中添加 按钮 样式:  2.添加drawable文件blue_button_background 在blue_button_backgrou

    2024年04月16日
    浏览(44)
  • Android 6.0 Settings中添加虚拟键开关

    添加系统默认键值 设置中添加开关 监听数据库变化

    2024年02月10日
    浏览(71)
  • Android 开关机POWER键 长按短按代码分析

    路径:frameworks/base/services/core/java/com/android/server/policy/PhoneWindowManager.java

    2024年02月11日
    浏览(49)
  • android viewpager 禁止滑动

    本文介绍了本人有一个相关的需求需要实现这一功能,在过程中发现自己之前没做过,然后记录下实现这一功能的过程及相关的小知识点。 viewpager 禁止滑动,就是在特殊的条件,比如说编辑的状态下,是不允许用户滑动的,但是看了下viewpager 的源码,也百度了一下,并没有

    2024年01月19日
    浏览(47)
  • android 12.0音量键功能开关(屏蔽音量加减功能)

    在12.0的系统定制化开发中,要求屏蔽掉音量+ 音量-的功能,根据系统属性来判断是否响应音量加减的功能,在系统上层中是由PhoneWindowManage来管理音量键的功能, 所以就要看是PhoneWindowManage.java中怎么处理的音量键的功能 首选看的源码关于音量键的处理 路径:/frameworks/base/se

    2024年02月06日
    浏览(38)
  • android 12.0SystemUI 状态栏下拉快捷添加截图快捷开关

    在12.0的系统产品rom定制化开发中,对SystemUI的定制需求也是挺多的,在下拉状态栏中 添加截图快捷开关,也是常有的开发功能,下面就以添加 截图功能为例功能的实现 在systemUI的res下的config中的quick_settings_tiles_default 和 quick_settings_tiles_stock是默认添加下拉快捷的字符资源,在

    2024年02月07日
    浏览(67)
  • android 13.0 SystemUI状态栏下拉快捷添加截图快捷开关

    在13.0的系统产品rom定制化开发中,对SystemUI的定制需求也是挺多的,在下拉状态栏中 添加截图快捷开关,也是常有的开发功能,下面就以添加 截图功能为例功能的实现 在Systemui的下拉状态栏的相关源码中,在快捷设置区域QSPanel及点击事件流程 分析 SystemUI下拉之后的那些快捷

    2024年02月03日
    浏览(63)
  • android 监听webview 滑动方向以及是否滑动到顶部、底部

    判断webview 滑动方向,老生常谈的问题,再次提及。 监听webview是否滑动到底部、顶部,可以通过重新webview的onScrollChanged()或者onTouchEvent()判断。 其中通过重写onTouchEvent()可以判断出webview的滑动方向。 判断是否滑动到底部,是通过判断webview的高度与当前webview的高度做

    2024年02月15日
    浏览(36)
  • Android View滑动处理大法

    原文链接 Android View滑动处理大法 对于触控式操作来说,滑动是一个特别重要的手势操作,如何做到让应用程序的页面滑动起来如丝般顺滑,让用户感觉到手起刀落的流畅感,是开发人猿需要重点解决的问题,这对提升用户体验是最为重要的事情。本文就将探讨一下,Android中

    2024年02月13日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包