首页 > 其他分享 >Android Switch开关按钮使用和自定义样式

Android Switch开关按钮使用和自定义样式

时间:2024-03-27 17:33:36浏览次数:31  
标签:thumb 自定义 track switch 开关 Switch 按钮 Android ic

最终效果
滑块打开样式
滑块关闭样式

minHeight,switchMinWidth调整switch开关高度、宽度

android:thumb 开关按钮上原型滑块的样式

android:track 开关按钮下面导轨的样式

<Switch
        android:layout_width="48dp"
        android:layout_height="24dp"
        android:layout_marginEnd="21dp"
        android:background="@null"
        android:minHeight="24dp"
        android:switchMinWidth="48dp"
        android:thumb="@drawable/selector_switch_thumb"
        android:track="@drawable/selector_switch_track"
        app:layout_constraintBottom_toBottomOf="@+id/tv_br_top"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

selector_switch_thumb.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <layer-list>
            <item android:width="18dp" android:height="24dp" android:drawable="@mipmap/ic_track" />
        </layer-list>
    </item>
</selector>

selector_switch_track.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_checked="false">
        <layer-list>
            <item android:width="48dp" android:height="24dp" android:drawable="@mipmap/ic_thumb_off" />
        </layer-list>
    </item>
    <item android:state_checked="true">
        <layer-list>
            <item android:width="48dp" android:height="24dp" android:drawable="@mipmap/ic_thumb_on" />
        </layer-list>
    </item>
</selector>

对应素材
ic_thumb_off
ic_thumb_off
ic_thumb_on
ic_thumb_on
ic_track
ic_track

标签:thumb,自定义,track,switch,开关,Switch,按钮,Android,ic
From: https://www.cnblogs.com/jamebeta/p/18099796

相关文章

  • 使用vue-cli图形界面自定义创建vue项目
    1.第一步2.第二步babel:是JavaScript的编译器,主要用于将ECMAScript2015+代码转换为向后兼容的JavaScript版本,以便在当前和旧版浏览器或环境中运行。(ECMAScript2015(也称为ES6)引入了许多新的语言特性和语法,但不是所有浏览器都完全支持这些新特性。)我的配置如下:3.第三......
  • 数组自定义unshift和去重
    arr=[1,2,4,5]arrObj=Object.assign([],arr)//自定义实现数组unshiftArray.prototype.myunshift=function(...eles){constlen=this.lengthfor(leti=1;i<=len;i++){arr[i]=arrObj[i-1]}varargs=Array.from(eles);arr[0]=......
  • Android开发-Android APP实操-1.项目创建及启动页面UI编码
    一、项目创建及模拟器安装1.选择新建一个project2. 选择空模板3.完成新project的设置 下载完成后点击Finish4.下载安卓模拟器 选择Pixel7点击下载R 为虚拟机命名,选择竖屏,点击Finish.5.点击启动,测试运行 运行成功! 二、启动页面UI编码 1.打开Main......
  • Android Studio创建项目时,依赖下载失败的常见解决问题
    Failedtoresolve:androidx.compose.ui:ui-tooling在settings.gradle.kts中加入末尾处的仓库列表。并且确保*..\Gradle\repository\init.d*目录下无配置Repositorys仓库的初始化脚本文件,确保始终使用的是项目中的脚本文件。我就是因为init.d下有个gradle脚本文件,导致了迟迟下......
  • 3.Android 中Button控件点击事件改变的三个方法总结
    SDKlocationnotfound.DefineavalidSDKlocationwithanANDROID_HOMEenvironmentvariableorbysettingthesdk.dirpathinyourproject'slocalpropertiesfileat'E:\Android\Gao\local.properties'.还没等调试能控制台报错参考https://blog.csdn.n......
  • 【全开源】JAVA海外短剧国际版源码支持H5+Android+IOS_博纳软云
    &nbsp;&nbsp;&nbsp;在数字化快速发展的今天,海外短剧市场日益繁荣,成为了全球娱乐界的新宠。为了满足广大用户的需求,我们推出了一款基于JAVA开发的海外短剧国际版源码,支持H5、Android和IOS三大平台,让您轻松进军海外短剧市场。这款源码采用了JAVA语言进行开发,具有高度的可定制......
  • 【全开源】JAVA海外短剧国际版源码支持H5+Android+IOS_博纳软云
    &nbsp;&nbsp;&nbsp;在数字化快速发展的今天,海外短剧市场日益繁荣,成为了全球娱乐界的新宠。为了满足广大用户的需求,我们推出了一款基于JAVA开发的海外短剧国际版源码,支持H5、Android和IOS三大平台,让您轻松进军海外短剧市场。这款源码采用了JAVA语言进行开发,具有高度的可定制......
  • 【全开源】JAVA海外短剧国际版源码支持H5+Android+IOS_博纳软云
    &nbsp;&nbsp;&nbsp;在数字化快速发展的今天,海外短剧市场日益繁荣,成为了全球娱乐界的新宠。为了满足广大用户的需求,我们推出了一款基于JAVA开发的海外短剧国际版源码,支持H5、Android和IOS三大平台,让您轻松进军海外短剧市场。这款源码采用了JAVA语言进行开发,具有高度的可定制......
  • 【Android面经】练习时长 1 年 2 个月的 Android菜鸡练习生的面经
    自我介绍本人是练习时长1年2个月的Android菜鸡练习生,去年集团组织架构调整(裁员),一直到现在未找到工作。校招那会儿非科班转码,学了两个多月的时间就上岸了,所以沾沾自喜,工作一年被毒打的不成样子,再次进入社会社招感到基础薄弱,菜的一批。下面是我最近面试的面经:腾讯WXG......
  • 大专毕业,我是如何从外卖员成为Android程序员的?
    前言那年,我大专计算机专业毕业,四处寻觅,找不到工作,于是开启了我的送外卖旅途。我骑着电动车走在马路上,看着风雨里空旷的四周,就好像我的人生亦是如此,空空如也。一次意外的偶然事件,我看见了这份《Android宝典》,想起我大学时候的计算机专业,我毅然决然拾起当年的专业,捡起这本《......