Android自定义Switch控件(IOS开关)

新春开工第一天就接了一个需求,然后小伙伴们就开始忙活起来了,设计小哥加班加点,给了设计图,后台接口还木有安排人,年前就排的非常的忙,所以产品说我们先搭布局然后还要单估时间,emmmmm,好吧,就开始拿起键盘操练起来,然后遇到了一个ios的开关是下面酱紫的,emmm,有个ios小哥说,都从来都木有用过这个开关。。。
开关样式
好吧言归正传,那个就搞起啊,我做到这里的时候就问了一下设计小哥我们android能不能用原生,然后设计小哥看了看原生,一脸嫌弃,然后我说要不我自定义一个吧,设计小哥说好吧,为了尊重一下设计小哥的设计理念,我就去自定义一个,之前没搞过switch自定义 搞了个半自定义,只改样式在xml里面,然后设计小哥给的素材图片过于大,我说不然你再重新切一个比例正好的吧,然后设计小哥可能不想重切,表示我就是要让你们写,怎样?就说能不能按比例宽高比例2;1缩放一下?emmmm,行吧 我就搞了一下,想了一下,应该先把图片加载进来,
这个是初始状态的方法,怎么样名字是不是非常言简意赅?这边只是一些简单的初始化设置,因为我也很少用Bitmap,所以就贴出来了,自己也相当于再回忆一遍有没有不太好的地方(暗示自己笨比要多看一遍才能混个脸熟)

private void state(){
        // 引用资源的两张图片
        onBitmap = BitmapFactory.decodeResource(getResources(), R.mipmap.icon_on);
        offBitmap=BitmapFactory.decodeResource(getResources(), R.mipmap.icon_off);
        slideBitmap = BitmapFactory.decodeResource(getResources(), R.mipmap.icon_circular);
        // 实例化画笔
        paint = new Paint();
        paint.setAntiAlias(true); // 去掉锯齿
        big(onBitmap,2,1);
        big(offBitmap,2,1);
      
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android自定义Switch控件可以通过自定义drawable来实现。以下是一个简单的例子: 1. 创建一个drawable资源文件,例如 switch_bg.xml,用于定义Switch的背景样式: ```xml <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_checked="true" android:drawable="@drawable/switch_on_bg" /> <item android:state_checked="false" android:drawable="@drawable/switch_off_bg" /> </selector> ``` 2. 创建两个drawable资源文件,例如 switch_on_bg.xml 和 switch_off_bg.xml,分别用于定义Switch开和关状态下的样式。 switch_on_bg.xml: ```xml <shape xmlns:android="http://schemas.android.com/apk/res/android"> <solid android:color="#00FF00" /> <corners android:radius="20dp" /> </shape> ``` switch_off_bg.xml: ```xml <shape xmlns:android="http://schemas.android.com/apk/res/android"> <solid android:color="#FF0000" /> <corners android:radius="20dp" /> </shape> ``` 3. 在布局文件中使用自定义Switch控件: ```xml <Switch android:id="@+id/customSwitch" android:layout_width="wrap_content" android:layout_height="wrap_content" android:thumb="@drawable/custom_switch_thumb" android:track="@drawable/switch_bg" /> ``` 其中,android:thumb属性定义了Switch的拇指(即开关按钮)的样式。我们可以创建一个自定义drawable来实现: ```xml <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval"> <solid android:color="#FFFFFF" /> <size android:width="20dp" android:height="20dp" /> </shape> ``` 这样就完成了自定义Switch控件的样式。当Switch状态改变时,背景样式也会随之改变。你可以根据自己的需求来修改样式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值