Android自定义观点仿IOS开关效果

  

本文主要讲解如何在Android下实现高仿iOS的开关按钮,并非是在安卓自带的ToggleButton上修改,而是使用API提供的alt=" Android自定义观点仿iOS开关效果">

  

样式如下:

  

,  Android自定义观点仿IOS开关效果

  

网上也有实现这种效果的,但是大都滑动没中间消失的动画,或者是很复杂,今天用简单的绘图方式实现,重点就在onDraw里绘图。

  

  
      <李>不滑出边界,超过一半自动切换(边界判断)   <李>可滑动,也可点击(事件共存)   <李>提供状态改变监听(设置回调)   <李>通过属性设置初始状态,背景图片,滑动按钮(自定义属性)   
  

<>强自定义视图的概述

  

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

  

  

 Android自定义观点仿IOS开关效果

  

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

  

1。视图的默认不支持WRAP_CONTENT,必须重写alt=" Android自定义观点仿IOS开关效果">

  

<强>开始动手

  

1。导入开关的样式文件

        & lt; resources>      & lt; !——基本应用程序的主题。——比;   & lt;样式名=" AppTheme "父=癟heme.AppCompat.Light.DarkActionBar”比;   & lt; !——自定义你的主题。——比;   & lt;项目名称=" colorPrimary "祝辞@color/colorPrimary   & lt;项目名称=" colorPrimaryDark "祝辞@color/colorPrimaryDark   & lt;项目名称=" colorAccent "祝辞@color/colorAccent   & lt;/style>   & lt; !——高仿IOS7开关——样式——比;   & lt; declare-styleable name=" SwitchButton比;   & lt; attr name==把丈?癰uttonColor”格式比;   & lt;/declare-styleable>      & lt;/resources>      

2。开始自定义,重点在onDraw ()

     /* *   *作者:和   *时间:2018/3/20。   *电子邮件:2911743255 @qq.com   *描述:   *细节:仿IOS开关   */公开课SwitchButton扩展视图{//画笔   私人最终油漆mPaint=new油漆();   私有静态最终双MBTNHEIGHT=0.55;   私有静态最终int抵消=3;   私人int mHeight;   私人浮动mAnimate=0 l;//此处命名不规范,目的和Android自带的开关有相同的用法   私人布尔检查=false;   私人mScale浮动;   私人int mSelectColor;   私人>   @Override   保护空白>    mBtnSwitch.setChecked(布尔);      

好了,自定义工作全部完成! !

  

那么300行左右的代码完成了我们的仿iOS SwitchButton的控件SwitchView

  

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

Android自定义观点仿IOS开关效果