android 动态画直线,Android使用自定义view在指定时间内匀速画一条直线的实例代码...
本文讲述了Android使用自定义view在指定时间内匀速画一条直线的实例代码。分享给大家供大家参考,具体如下:
1.效果图:
2.自定义view实现
public class UniformLine extends View {
private int x, y, nextX, nextY, incrementY, incrementX;
public UniformLine(Context context) {
super(context);
}
public UniformLine(Context context, int x, int y, int nextX, int nextY) {
super(context);
this.x = x;
this.y = y;
this.nextX = nextX;
this.nextY = nextY;
init();
}
private void init() {
p = new Paint();
p.setColor(Color.WHITE);
p.setAntiAlias(true);
p.setStrokeWidth(4.0f);
ValueAnimator valueAnimatorX = ValueAnimator.ofFloat(x, nextX);
valueAnimatorX.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override
public void onAnimationUpdate(ValueAnimator animation) {
incrementX = Math.round((Float) animation.getAnimatedValue());
invalidate();
}
});
ValueAnimator valueAnimatorY = ValueAnimator.ofInt(y, nextY);
valueAnimatorY.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override
public void onAnimationUpdate(ValueAnimator animation) {
incrementY = (int) animation.getAnimatedValue();
invalidate();
}
});
AnimatorSet animatorSet = new AnimatorSet();
LinearInterpolator ll = new LinearInterpolator();
animatorSet.setInterpolator(ll);//匀速
animatorSet.setDuration(2000);
animatorSet.playTogether(valueAnimatorX, valueAnimatorY);
animatorSet.start();
}
Paint p;
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
canvas.drawLine(Util.Div(Math.round(x)), Util.Div(Math.round(y)),
Util.Div(Math.round(incrementX)), Util.Div(Math.round(incrementY)), p);// 斜线
}
}
3.调用
uniformLine = new UniformLine(mContext, 300, 500, 600, 200);
addView(uniformLine);
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。
android 动态画直线,Android使用自定义view在指定时间内匀速画一条直线的实例代码...相关推荐
- android 动态生成直线,Android使用自定义view在指定时间内匀速画一条直线的实例代码...
本文讲述了Android使用自定义view在指定时间内匀速画一条直线的实例代码.分享给大家供大家参考,具体如下: 1.效果图: 2.自定义view实现 public class UniformLine ...
- Android仿IOS解锁密码界面-自定义view系列(6)
Android仿IOS解锁密码界面-自定义view系列 功能简介 主要实现步骤-具体内容看github项目里的代码 xml相关属性设置 Android Studio 代码 Android技术生活交流 ...
- Android安卓仿IOS音量调节-自定义view系列(4)
Android安卓仿IOS音量调节-自定义view系列 功能简介 主要实现步骤 xml相关属性设置 java代码 Android技术生活交流 更多其他页面-自定义View-实用功能合集:点击查看 Gi ...
- Android开发之制作圆形头像自定义View,直接引用工具类,加快开发速度。带有源代码学习
作者:程序员小冰,CSDN博客:http://blog.csdn.net/qq_21376985 QQ986945193 博客园主页:http://www.cnblogs.com/mcxiaobing ...
- Android开发之制作圆形头像自定义View,直接引用工具类,加快开发速度。带有源代码学习...
作者:程序员小冰,CSDN博客:http://blog.csdn.net/qq_21376985 QQ986945193 博客园主页:http://www.cnblogs.com/mcxiaobing ...
- Android绘图机制(三)——自定义View的实现方式以及半弧圆新控件
Android绘图机制(三)--自定义View的三种实现方式以及实战项目操作 在Android绘图机制(一)--自定义View的基础属性和方法 里说过,实现自定义View有三种方式,分别是 1.对现有 ...
- Android绘图机制(二)——自定义View绘制形, 圆形, 三角形, 扇形, 椭圆, 曲线,文字和图片的坐标讲解
Android绘图机制(二)--自定义View绘制形, 圆形, 三角形, 扇形, 椭圆, 曲线,文字和图片的坐标讲解 我们要想画好一些炫酷的View,首先我们得知道怎么去画一些基础的图案,比如矩形,圆 ...
- android 动画之漂移,[超棒]自定义View居然还能这样?用 Android 实现一条小金鱼游动动画...
原标题:[超棒]自定义View居然还能这样?用 Android 实现一条小金鱼游动动画 前言 此篇中的小鱼动画是模仿国外一个大牛做的flash动画,第一眼就爱上它了,简约灵动又不失美学,于是抽空试着尝 ...
- android自定义进度条百分比跟着走,Android自定义View实现水平带数字百分比进度条...
这个进度条可以反映真实进度,并且完成百分比的文字时随着进度增加而移动的,所在位置也恰好是真实完成的百分比位置,效果如下: 思路如下:第一部分是左侧的蓝色直线,代表已经完成的进度:第二部分是右侧灰色的直 ...
最新文章
- 免费公开课 | 基于定制数据流技术的AI计算加速
- C#百度OCR-本地和网络图片识别文字
- 如何让Jupyter Notebook支持pytorch、tensorflow
- 使用localStorage写一个简单的备忘录
- mybatis和hibernate的区别---Mybatis的学习笔记(四)
- linux 中用PPA安装软件
- 如何合理的配置线程数?
- 关于IM Robot的一些资料【转载】
- 趣学 C 语言(十)—— 控制台交互(getch() vs. getchar())
- 交通灯c语言单片机程序,基于51单片机的一个简单交通灯程序
- 程序员接私活常用平台汇总!
- WPF系列教程(十九):日期控件——Calendar、DatePicker日历控件
- 如何压缩ppt幻灯片
- 2022年云南最新消防设施操作员模拟试题题库及答案
- llama是什么动物_羊驼(Alpaca)与骆马(Llama)
- 贝壳ip连接服务器没响应,贝壳物联通讯协议TCP连接测试教程
- 国内外对于GaN中Fe相关点缺陷结构的局域特性的研究进展
- java如何获取storage_本地化存储Storage
- Photoshop基础2——工具
- 60个相见恨晚的神器工具
热门文章
- Python编程基础17:构造方法和析构方法
- AngularJS案例:简单计算
- 11.频域里的卷积——平滑和模糊,2D例子,低通和高通滤波器_2
- 在肯定句使用have动词_25
- 2017.10.7 最长上升子序列 思考记录
- tensorflow和python版本不一样_相比Tensorflow2和PyTorch,TensorFlow1.x版本有什么弊端?...
- metrics的timer功能在java项目中的使用方法
- pythonturtle魔法阵_深圳Pythonlevel1
- pythonweb项目面试题_python和web框架面试题目整理(1)
- html在线播放avi视频,Doinb涉嫌踩一捧一?暖心安慰小天,拿kanavi做比较却遭到非议...