Android 自定义Swicth

Android UI之switch的thumb与track属性定制自己的switch 利用官方的switch控件的thumb与track属性,可以自定义自己的switch,实例如下: 上面的switch是官方默认的形状,下面的是通过设定自定义的thumb与track来实现的效果。 那如何来实现呢? 1.thumb比较好实现,利用XML来定义一个drawable文件,命名为switch_thumb xml version="1.0" enc 阅读详情

一、效果图

1、默认

在这里插入图片描述在这里插入图片描述

2、自定义

请添加图片描述请添加图片描述

二、上代码

1、创建thumb

shape_switch_thumb_true.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">

    <!--设置大小-->
    <size android:width="20dp"
        android:height="20dp"/>

    <!--设置圆角-->
    <corners android:radius="10dp"/>

    <!--设置背景颜色-->
    <solid android:color="@color/white"/>

    <!--设置边框-->
    <stroke android:width="2dp" android:color="@color/red"/>

</shape>

shape_switch_thumb_false.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">

    <!--设置大小-->
    <size android:width="20dp"
        android:height="20dp"/>

    <!--设置圆角-->
    <corners android:radius="10dp"/>

    <!--设置背景颜色-->
    <solid android:color="@color/white"/>

    <!--设置边框-->
    <stroke android:width="2dp" android:color="@color/silver"/>

</shape>

selector_switch_thumb.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <!--选中状态ture-->
    <item android:drawable="@drawable/shape_switch_thumb_true" android:state_checked="true"/>

    <!--选中状态false-->
    <item android:drawable="@drawable/shape_switch_thumb_false" android:state_checked="false"/>

</selector>

2、创建track

shape_switch_track_true.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">

    <!--设置大小-->
    <size android:width="40dp"
        android:height="20dp"/>

    <!--设置圆角-->
    <corners android:radius="10dp"/>

    <!--设置背景颜色-->
    <solid android:color="@color/red"/>

</shape>

shape_switch_track_false.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <!--设置大小-->
    <size android:width="40dp"
        android:height="20dp"/>

    <!--设置圆角-->
    <corners android:radius="10dp"/>

    <!--设置背景颜色-->
    <solid android:color="@color/silver"/>
</shape>

selector_switch_track.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <!--选中状态ture-->
    <item android:drawable="@drawable/shape_switch_track_true" android:state_checked="true"/>

    <!--选中状态false-->
    <item android:drawable="@drawable/shape_switch_track_false" android:state_checked="false"/>

</selector>

3、设置Swicth属性

<Switch
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:thumb="@drawable/selector_switch_thumb"
        android:track="@drawable/selector_switch_track"
        tools:ignore="UseSwitchCompatOrMaterialXml" />

三、链接

1、Switch官方API:链接。

2、shape详解:链接。

一起Talk Android吧(第四百八十二回:如何修改Switch的长宽 本章回中主要介绍了如何修改的switch控件的长度和宽度,并且通过文字结合的方式进行了介绍。 阅读详情

相关推荐

Android Switch控件自定义

Android Switch控件自定义,通过修改switch控件的thumb和track属性,实现自己想要的效果

在安卓4.x上使用Switch控件,并且替换thumb和track的图片时,Switch展示的width会明显大于设置的宽度,导致图片变形

4.x上默认会显示开启或关闭时的文字,例如“开启”或者“关闭”,这个文字首先要隐藏,使用 android:textOn="" android:textOff=""然后要加上两个属性的设置,第一是android:thumbTextPadding="6dp",这个属性可以让图片不变形,第二是android:switchMinWidth="24dp",这个属性可以让Switch的宽度是你想要

marinLiu的博客 5654

闲置服务器之代理服务器篇

这台服务器是在阿里云免费白嫖的,天工开物计划,阿里给的300块无门槛优惠券,买了一台新加坡的境外服务器,288,刚刚抵扣完,因为是境外服务器,能够访问一些国内不能访问的网站,所以本文章仅从技术的角度来搭建代理服务器,使用时,请自觉遵守国家相关规定,如有任何违法行为,与本人无任何关系!!!。本文使用tinyproxy来搭建代理服务器。

m0_50281408的博客 2104

修改Android自带Switch样式

由于Android自带的Switch样式不能应用于所有UI风格的App,因此修改Switch样式是项目中经常要用到的技术,Switch的样式一般来说需要修改以下部分:按钮(thumb)、轨迹(track)以及大小。首先我们经过尝试可以发现,如果我们直接在布局文件中修改Switch的属性layout_width和layout_height是无法修改Switch的真实大小的,相反只能改变这个Switch

轻风起自远东 1万+

电子货架标签应用浅析(ESL)

​【 关注与分享,是对原创最大的鼓励 】 年底了,会断续介绍几个主要的BLE的应用及市场情况,这篇文章介绍的是电子货架标签, ESL (Electronic Shelf Label)。 文章将从应用简介,市场规模,产业链,头部玩家及系统框架进行介绍。只对技术感兴趣的可以直接拉到底。 ESL简介 ESL,是一种显示产品,其主要是替代传统的纸质标签,应用于大型商超,...

iotthings的博客 4691

使用trae自动生成前后端分离的web应用程序

使用ai自动生成前后端分离的web应用程序

一介书生 2524

Android Studio module里面放switch语句报错 R文件找不到

最近在写一个Android的library module,打算在库项目里面写一个自定义控件。 自定义控件里面有自己特有的属性。在attr.xml里面生成自己的自定义属性。 代码如下: [html] view plain copy xml version="1.0" encoding="utf-8"?>   resources>  

Tom_xiaoxie的博客 3257

Python XML 转 JSON,XML 转字典

今天我们将学习如何在 Python 中将 XML 转换为 JSON 和 XML 转换为字典。我们可以使用 Python 的xmltodict模块来读取 XML 文件并将其转换为字典或 JSON 数据。我们还可以在大型 XML 文件上进行流式处理,并将其转换为字典。在进入编码部分之前,让我们首先了解为什么需要进行 XML 转换。

rubys_的专栏 2501

翻翻git之---偏向iOS风格的Switch ToggleSwitch

转载请注明出处:王亟亟的大牛之路早上上了个很6的图片选择器 GalleryFinal 如果没有看的同学 可以看下,东西很不错哦,传送门:http://blog.youkuaiyun.com/ddwhan0123/article/details/50817152这一篇上一个自定义控件ToggleSwitch 效果图:第一眼看上去感觉就像旧版的iOS风格的Switch。How to use?Grade:depen

王亟亟的博客 4976

利用抖音Cookie充值接口提取支付链接,调起原生微信h5支付宝h5支付

最近开始搞一些个人支付通道的开发,方便个人不用和第三方平台签约就能收款,省去很多流程手续的成本。 然后翻了一下网上并没有太多现成的技术教程,只能自己研究着搞了。 这次要分享的是利用抖音的充值接口,去分析提取出支付链接,分别包含微信原生支付的h5支付链接,和支付宝h5支付链接。 微信h5支付: 抖币充值,抖音充值,抖音直播充值官方入口 - 抖音 支付宝h5支付 抖币充值,抖音充值,抖音直播充值官方入口 - 抖音 整个开发流程思路是以下几步: 1.抓包分析抖音的充值的整个流程,提取关键的一些

Android-逆向的博客 6567

机器学习——Anaconda下载安装教程

Anaconda详细下载安装教程

2401_83693485的博客 3065

免费指南:3 种方式把 Switch 游戏串流到电脑,不用买采集卡

SysDVR 是个开源项目,能把正在玩的 Switch 游戏画面实时串流到电脑,走 USB 或 Wi-Fi,不花采集卡的钱。视频锁定 720p@30fps(硬件上限),音频是无压缩 PCM,USB 模式下延迟低到多数游戏能直接上手玩。这篇讲清怎么装、三种连接怎么选、以及它有哪些天花板。 ## 🎮 它解决的是"不想花钱买采集卡" 你手里只要有一台装了自制系统(如 Atmosphere)的 Sw

gitblog_00934的博客 254

高通平台 Android T 蓝牙技术全解析:A2DP 与 AVRCP 核心代码路径与交互流程

A2DP 接收端 - 连接流程(AVDTP 打开)

专业开发者的博客,一个从事Android WiFi和蓝牙的工程师 288

3个维度解析Switch2Cursor:提升编辑器切换效率的开发工具

在现代软件开发流程中,编辑器切换、开发效率与跨IDE协作已成为影响开发者工作流的关键因素。频繁在功能全面的JetBrains IDE与轻量敏捷的Cursor编辑器间切换时,手动定位代码位置、重建开发上下文往往导致效率损耗。本文将从核心痛点、解决方案、场景价值、技术解析和使用指南五个维度,全面剖析Switch2Cursor插件如何通过技术创新解决这些问题。 ## 突破编辑器壁垒:开发环境切换的核心

gitblog_00064的博客 645

AI自瞄原理剖析(四)从Yolo推理坐标到屏幕坐标:基于FOV视角与焦距的坐标变换与精准瞄准

从Yolo推理框架得到的坐标到屏幕坐标的转换是一个涉及到FOV视角、焦距以及分辨率的复杂过程。通过数学公式,我们可以将推理框坐标反推为游戏内的实际坐标,并最终映射到屏幕坐标系中。利用这些信息,AI自瞄系统能够精确计算出准星从当前位置移动到敌人位置的距离,实现精准的自动瞄准。通过这种方法,AI自瞄系统能够在不同的游戏环境下灵活应对,提供高度精确的操作体验。在AI自瞄系统中,目标检测仅仅是第一步,获取到预测框的坐标后,我们还需要将这些坐标转换为实际屏幕上的精确位置。

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 1334

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

android之4.0控件switch自定义开关背景图片和控制宽度

wrap_content         wrap_content         ""         ""         @drawable/widget_gender_thumb         10dp         @drawable/widget_gender_track     参考http://stackoverflow.com/quest

8359

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

样式兼容5.0以下的Switch,SwitchCompat的常用属性

android.support.v7.appcompat:showText Whether to draw on/off text. 是否显示开关状态的文字android.support.v7.appcompat:splitTrack Whether to split the track and leave a gap for the thumb drawable. 是否显示分割轨道的的

Keep Learning , Keep Improving ! 5538

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

android studio switch组件的宽高设置_最全的Android组件化分析

1.什么是模块化、组件化和插件化随着业务的积累,产品的迭代,我们写的工程会越来越大,也越来越臃肿,更加难以维护,那有没有一种方法,能够使得每个人专门负责自己的业务模块,使用的时候把每个人做的模块直接拼装组合起来就行,这样代码也更加灵活,相互之间的耦合性也更低,重用性也能够更大。那么模块化的概念就来了。简单来说, 模块化就是将一个程序按照其功能做拆分,分成相互独立的模块,以便于每个模块只包含与其功能...

weixin_39541750的博客 859

android switchbutton 大小,SwitchButton

SwitchButtonSwitchButton是用在Android上的开关按钮,最低兼容Android2.1示例APP特性支持滑动切换支持标题支持Left、Top、Right、Bottom Drawable支持使用遮罩实现圆角按钮使用指南(Usage Guide)导入从JCenter导入dependencies{compile 'me.xiaopan:switchbutton:lastVers...

weixin_33477210的博客 1381

android 的Switch控件的android:thumb 和android:track属性的理解

有些人对Switch控件的 android:thumb和android:track两个属性理解不清楚和明白,现在跟大家讲清楚这两个属性的作用。 Switch主要有两个属性构成:上面圆形的滑块,下面的滑道。 android:thumb对应的滑块 android:track 对应的滑道。 1、先来看Switch默认样式,如下:   checked=false,滑块和滑道都是灰色。       ...

进击的Ace 2463

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

原生的SwitchCompat控件如下图,不说不堪入目,也算是不敢恭维了。从上面的xml代码来看其实只需要定制两个东西一个是thumb,另一个是track。所以我们就需要对SwitchCompat进行自定义风格,效果如下图。switch_track_style里面有两个背景如下。

valiantMan 6010

【switch_thumb用矢量图时大小总是和滑轨宽度一样大的问题解决】

最近在一个项目上用switch控件时,甲方UI没给切图,然后我就直接用shape画了一个,然后设置到thumb里去之后发现大小时和滑轨的宽度一样大的,我设的大小明明小了好几个dp的,然后再shape里设置padding还是没用。 解决办法就是 <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@drawable/icon_bottom.

a492726216的博客 1938

android自定义switch颜色

Switch。

weixin_42966151的博客 1267

Android 自定义Switch样式

原生Android自定义switch开关按钮,纯纯干货没有一个标点是多余的

Not_Mars的博客 3821

android自定义Switch样式

效果如图 自定义组件CheckSwitchButton.Java 放在View文件下 package com.haiyisoft.teamassistant.view; import com.haiyisoft.teamassistant.R; import com.haiyisoft.teamassistant.anim.FrameAnimationController;

sinat_28761919的博客 3281

Android 设置switch的thumb

我整理的一些关于【自定义,控件,滑块】的项目学习资料(附讲解~~)和大家一起分享、学习一下:https://d.51cto.com/eDOcp1Android 设置 Switch 的 Thumb 在 Android 开发中,Switch 是一种常用的 UI 控件,用于表示开关状态。与传统的按钮不同,Switch 用于明确...

weixin_42524703的博客 421
上一篇: Android 控件缩写
下一篇: Android String与int相互转换
Android Hai
博客等级 码龄7年 30粉丝 43原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Android Hai

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值