AnimCheckBox按钮点击动画效果《IT蓝豹》
AnimCheckBox按钮点击动画效果
AnimCheckBox按钮点击动画效果,点击选中后勾选框选择效果,很不错的动画功能。
项目来源:https://github.com/lguipeng/AnimCheckBox
本项目主要介绍:
本项目主要自定义AnimCheckBox 集成View,提供选择的监听接口OnCheckedChangeListener
主要由drawCircle()方法和drawHook(Canvas canvas);
private void drawCircle(Canvas canvas){
initDrawStrokeCirclePaint();
canvas.drawArc(mRectF, 202, mSweepAngle, false, mPaint);
initDrawAlphaStrokeCirclePaint();
canvas.drawArc(mRectF, 202, mSweepAngle - 360, false, mPaint);
initDrawInnerCirclePaint();
canvas.drawArc(mInnerRectF, 0, 360, false, mPaint);
}
private void drawHook(Canvas canvas){
if (mHookOffset == 0)
return;
initDrawHookPaint();
mPath.reset();
float offset;
if (mHookOffset <= (2 * size/3 - mHookStartY - mBaseLeftHookOffset)){
mPath.moveTo(mBaseLeftHookOffset, mBaseLeftHookOffset + mHookStartY);
mPath.lineTo(mBaseLeftHookOffset + mHookOffset, mBaseLeftHookOffset + mHookStartY + mHookOffset);
}else if (mHookOffset <= mHookSize){
mPath.moveTo(mBaseLeftHookOffset, mBaseLeftHookOffset + mHookStartY);
mPath.lineTo(2 * size / 3 - mHookStartY, 2 * size / 3);
mPath.lineTo(mHookOffset + mBaseLeftHookOffset,
2 * size/3 - (mHookOffset - (2 * size/3 - mHookStartY - mBaseLeftHookOffset)));
}else {
offset = mHookOffset - mHookSize;
mPath.moveTo(mBaseLeftHookOffset + offset, mBaseLeftHookOffset + mHookStartY + offset);
mPath.lineTo(2 * size / 3 - mHookStartY, 2 * size / 3);
mPath.lineTo(mHookSize + mBaseLeftHookOffset + offset,
2 * size/3 - (mHookSize - (2 * size/3 - mHookStartY - mBaseLeftHookOffset) + offset));
}
canvas.drawPath(mPath, mPaint);
}
运行效果:
相关代码
AnimCheckBox按钮点击动画效果《IT蓝豹》的更多相关文章
- StarRatingBar星星切换动画《IT蓝豹》
StarRatingBar星星切换动画 StarRatingBar星星切换动画,很久没有学习一下这个RatingBar了,今天来看看这个RatingBar的动画切换效果,本例子主要是RatingBar ...
- Waves – 赞!超炫交互体验的点击动画效果
Waves 点击效果的灵感来自于谷歌的材料设计,很容易使用.只需要引入 waves.min.css 和 waves.min.js 到 HTML 文件中可以使用了.采用 touchstart 与 tou ...
- 基于jQuery CSS3鼠标点击动画效果
分享基于jQuery CSS3鼠标点击动画效果支持图片或内容滑动,允许设置动画延迟效果.效果图如下: 在线预览 源码下载 实现的代码. html代码: <div class="co ...
- 超炫的Button按钮展开弧形动画效果
----------------------收藏备用 ------------------------------- 代码下载:http://download.csdn.net/detail/qq2 ...
- UI-切圆角、透明度、取消按钮点击高亮效果、按钮文字带下划线
一.切UIView的某个角为圆角 如果需要将UIView的4个角全部都为圆角,做法相当简单,只需设置其Layer的cornerRadius属性即可(项目需要使用QuartzCore框架).而若要指定某 ...
- iOS tabbar点击动画效果实现
正常情况下,我们点击tabbar都只有一个变色效果,但有时候,如果我们想给它添加一个点击动画,该如何做呢? 先上几个效果图: 1.先放大,再缩小 2.Z轴旋转 3.Y轴位移 ...
- Egret 按钮点击缩放效果
非代码设计,exml直接操作 设计模式下选中对象,之后[源码],会直接定位到该对象在exml源码中的位置 width.down = "100%" 表示当按钮按下的时候宽度为 100 ...
- 一个不错的loading效果--IT蓝豹
一个不错的loading效果 介绍:一个不错的loading加载效果,弹性收缩,效果不错,学习android动画的朋友可以下载来研究研究本例子其实由SeekBar实现,由MetaballView,Me ...
- 添加可点击的imagebottom,有个点击动画效果
android添加可点击的按钮,有个动画切换 ,首先定义一个 res/drawable中定义一个 btn_shutter_background.xml,其定义举例如下: <?xml versio ...
随机推荐
- web框架原理
web框架的原理: 所有的web应用其实本质上就是socket服务端,而我们的浏览器就是socket客户端. 那么知道了这个之后我们就可以基于socket来写一个我们的服务端: import sock ...
- Linux最大线程数限制及当前线程数查询
常用配置 echo > /proc/sys/kernel/pid_max a) 当前环境生效 ulimit -d unlimited ulimit -m unlimited ulimit -s ...
- web分页打印
添加css: page-break-before:always 实现分页 window.print()//实现打印
- git命令简洁版
五:业务逻辑GITgit status要经常用 1. 把远端代码下载下来git clone https://或者git@10.0.4.73:sns,进入cd 文件夹 另外在自己新建立一个项目时,需要 ...
- tkinter面板切换
- 学习笔记: js插件 —— fullPage.js (页面全屏滚动)
fullPage.js (页面全屏滚动) 必须依赖 jquery-ui.min.js, 233K 14760个星. 以后有时间再看. API挺全 https://github.com/alvaro ...
- ajax 406 Not Acceptable
搞了半天, 后面参照 http://www.th7.cn/web/ajax/201611/194702.shtml, 终于把问题解决了.. 使用ajax向后台请求时,前台报错406 Not Accep ...
- [C基础修炼] [C课程设计]C语言课程设计之图书管理系统
#include <stdio.h> #include <stdlib.h> #include <string.h> FILE *fp;//定义文件指针fp,指向文 ...
- Node 操作 MySQL 数据库
1, 下载 mysql 依赖 => npm -i mysql 2, 写一个核心工具类, 用于获取线程池连接 mysql-util.js // 引入 mysql 数据库连接依赖 const mys ...
- leetcode1011
class Solution: def shipWithinDays(self, weights: 'List[int]', D: int) -> int: left = max(weights ...
