Material Design学习之 Switch(详细解释)

本文详细介绍了Android中的Switch组件在Material Design风格下的实现原理,包括开关的交互设计、动画效果和代码实现。通过示例代码展示了如何创建具有触控反馈和状态变化的小球动画,同时提供了源码和相关资源下载链接。
摘要由CSDN通过智能技术生成

转载请注明出处:王亟亟的大牛之路

继续这一系列的Material Design之行,昨天讲的是Sliders链接如下:http://blog.csdn.net/ddwhan0123/article/details/50586510

今天讲的是Switch,本来有考虑把它和CheckBox一起做了,但是毕竟实现不同,还是分开做吧,废话不多,开始正题


开关
On/off 开关切换单一设置选择的状态。开关控制的选项以及它的状态,应该明确的展示出来并且与内部的标签相一致。开关应该单选按钮呈现相同的视觉特性。

开关通过动画来传达被聚焦和被按下的状态。

开关滑块上标明 “on” 和 “off” 的做法被弃用,取而代之的是下图所示的开关。

这里写图片描述

当然,也有暗主题

这里写图片描述

他的好基友的介绍可以看:http://blog.csdn.net/ddwhan0123/article/details/50578348

原文地址:http://www.google.com/design/spec/components/switches.html


我们来贴下我们代码实现的效果:

这里写图片描述

包结构:

这里写图片描述

这边就说下Switch这个类,别的在之前文章里有。

     private int backgroundColor = Color.parseColor("#4CAF50");

    private Ball ball;

    private boolean check      = false;
    private boolean eventCheck = false;
    private boolean press      = false;

    private OnCheckListener onCheckListener;
    private Bitmap bitmap;

28-37,一系列的变量声明。

   public Switch(Context context, AttributeSet attrs) {
        super(context, attrs);
        setAttributes(attrs);
        setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View arg0) {
                if (check)
                    setChecked(false);
                else
                    setChecked(true);
            }
        });
    }

39-52行,构造函数,设置监听事件,根据是否被按来做相应初始化操作

   protected void setAttributes(AttributeSet attrs) {

        setBackgroundResource(R.drawable.background_transparent);

        // Set size of view
        setMinimumHeight(Utils.dpToPx(48, getResources()));
        setMinimumWidth(Utils.dpToPx(80, getResources()));

        // Set background Color
        // Color by resource
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值