您好,欢迎来到源码搜藏!分享精神,快乐你我!提示:担心找不到本站?在百度搜索“源码搜藏”,网址永远不丢失!
  • 首 页
  • 在线工具
  • Android 下高仿 iOS 的增强版滑动开关组件,含实现原理EasySwitc

    时间:2016-04-10 22:52 来源:互联网 作者:源码搜藏 浏览:收藏 挑错 推荐 打印

    • 源码类别:按钮表单
    • 源码大小:1.9 MB
    • 编码格式:gbk
    • 授权方式:免费源码
    • 运行环境:php+mysql,asp+access,VC+MSSQL,VS+MSSQL,eclipse,Android studio,其他
    • 官方网址:暂无
    • 欢迎加入QQ群讨论学习
    • Android学习交流

    本文主要讲解如何在 Android 下实现高仿 iOS 的开关按钮,并非是在 Android 自带的 ToggleButton 上修改,而是使用 API 提供的 onDraw、onMeasure、Canvas 方法,纯手工绘制。基本原理就是在 Canvas 上叠着放两张图片,上面的图片根据手指触摸情况,不断移动,实现开关效果。


     


    效果图:



    这里写图片描述



    功能点:




    1. 不滑出边界,超过一半自动切换(边界判断


    2. 可滑动,也可点击(事件共存


    3. 提供状态改变监听(设置回调


    4. 通过属性设置初始状态、背景图片、滑动按钮(自定义属性




    自定义View的概述



    Android 在绘制 View 时,其实就像蒙上眼睛在画板上画画,它并不知道应该把 View 画多大画哪儿怎么画。所以我们必须实现 View 的三个重要方法,以告诉它这些信息。即:onMeasure(画多大),onLayout(画哪儿),onDraw(怎么画)。



    View的生命周期


    未设置点击事件 是否监听 ACTION_MOVE
    [Java] 查看源文件 复制代码
    ?
    1
    onFinishedInflate()
    当从布局文件创建时调用,做一些初始化的操作,如创建对象等
    [Java] 查看源文件 复制代码
    ?
    1
    onSizeChanged()
    当尺寸改变时调用,做一些进一步的初始化,如:处理外部通过 set 设置的属性
    [Java] 查看源文件 复制代码
    ?
    1
    onMeasure()
    当需要测量时调用,指定 View 的大小
    [Java] 查看源文件 复制代码
    ?
    1
    onLayout()
    当需要布局时调用,指定 View 的位置
    [Java] 查看源文件 复制代码
    ?
    1
    onDraw()
    当需要绘制时调用,指定 View 的内容


    在动手写之前,必须先了解以下几个概念:




    1. View 的默认不支持 WRAP_CONTENT,必须重写 onMeasure 方法,通过 setMeasuredDimension() 设置尺寸


    2. 基本的事件分发机制:onClickListener 一定是在 onTouchEvent 之后执行




    自定义View的流程



    自定义 View 一般遵循如下流程:



    这里写图片描述



    Android 下高仿 iOS 的增强版滑动开关组件,含实现原理EasySwitc转载请注明出处http://www.codesocang.com/kj/anniu/29320.html 源码搜藏网所有源码来自用户上传分享,版权问题及牵扯到商业纠纷均与源码搜藏网无关
    标签: