本文讲述了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在指定时间内匀速画一条直线的实例代码...相关推荐

  1. android 动态生成直线,Android使用自定义view在指定时间内匀速画一条直线的实例代码...

    本文讲述了Android使用自定义view在指定时间内匀速画一条直线的实例代码.分享给大家供大家参考,具体如下: 1.效果图: 2.自定义view实现 public class UniformLine ...

  2. Android仿IOS解锁密码界面-自定义view系列(6)

    Android仿IOS解锁密码界面-自定义view系列 功能简介 主要实现步骤-具体内容看github项目里的代码 xml相关属性设置 Android Studio 代码 Android技术生活交流 ...

  3. Android安卓仿IOS音量调节-自定义view系列(4)

    Android安卓仿IOS音量调节-自定义view系列 功能简介 主要实现步骤 xml相关属性设置 java代码 Android技术生活交流 更多其他页面-自定义View-实用功能合集:点击查看 Gi ...

  4. Android开发之制作圆形头像自定义View,直接引用工具类,加快开发速度。带有源代码学习

    作者:程序员小冰,CSDN博客:http://blog.csdn.net/qq_21376985 QQ986945193 博客园主页:http://www.cnblogs.com/mcxiaobing ...

  5. Android开发之制作圆形头像自定义View,直接引用工具类,加快开发速度。带有源代码学习...

    作者:程序员小冰,CSDN博客:http://blog.csdn.net/qq_21376985 QQ986945193 博客园主页:http://www.cnblogs.com/mcxiaobing ...

  6. Android绘图机制(三)——自定义View的实现方式以及半弧圆新控件

    Android绘图机制(三)--自定义View的三种实现方式以及实战项目操作 在Android绘图机制(一)--自定义View的基础属性和方法 里说过,实现自定义View有三种方式,分别是 1.对现有 ...

  7. Android绘图机制(二)——自定义View绘制形, 圆形, 三角形, 扇形, 椭圆, 曲线,文字和图片的坐标讲解

    Android绘图机制(二)--自定义View绘制形, 圆形, 三角形, 扇形, 椭圆, 曲线,文字和图片的坐标讲解 我们要想画好一些炫酷的View,首先我们得知道怎么去画一些基础的图案,比如矩形,圆 ...

  8. android 动画之漂移,[超棒]自定义View居然还能这样?用 Android 实现一条小金鱼游动动画...

    原标题:[超棒]自定义View居然还能这样?用 Android 实现一条小金鱼游动动画 前言 此篇中的小鱼动画是模仿国外一个大牛做的flash动画,第一眼就爱上它了,简约灵动又不失美学,于是抽空试着尝 ...

  9. android自定义进度条百分比跟着走,Android自定义View实现水平带数字百分比进度条...

    这个进度条可以反映真实进度,并且完成百分比的文字时随着进度增加而移动的,所在位置也恰好是真实完成的百分比位置,效果如下: 思路如下:第一部分是左侧的蓝色直线,代表已经完成的进度:第二部分是右侧灰色的直 ...

最新文章

  1. 免费公开课 | 基于定制数据流技术的AI计算加速
  2. C#百度OCR-本地和网络图片识别文字
  3. 如何让Jupyter Notebook支持pytorch、tensorflow
  4. 使用localStorage写一个简单的备忘录
  5. mybatis和hibernate的区别---Mybatis的学习笔记(四)
  6. linux 中用PPA安装软件
  7. 如何合理的配置线程数?
  8. 关于IM Robot的一些资料【转载】
  9. 趣学 C 语言(十)—— 控制台交互(getch() vs. getchar())
  10. 交通灯c语言单片机程序,基于51单片机的一个简单交通灯程序
  11. 程序员接私活常用平台汇总!
  12. WPF系列教程(十九):日期控件——Calendar、DatePicker日历控件
  13. 如何压缩ppt幻灯片
  14. 2022年云南最新消防设施操作员模拟试题题库及答案
  15. llama是什么动物_羊驼(Alpaca)与骆马(Llama)
  16. 贝壳ip连接服务器没响应,贝壳物联通讯协议TCP连接测试教程
  17. 国内外对于GaN中Fe相关点缺陷结构的局域特性的研究进展
  18. java如何获取storage_本地化存储Storage
  19. Photoshop基础2——工具
  20. 60个相见恨晚的神器工具

热门文章

  1. Python编程基础17:构造方法和析构方法
  2. AngularJS案例:简单计算
  3. 11.频域里的卷积——平滑和模糊,2D例子,低通和高通滤波器_2
  4. 在肯定句使用have动词_25
  5. 2017.10.7 最长上升子序列 思考记录
  6. tensorflow和python版本不一样_相比Tensorflow2和PyTorch,TensorFlow1.x版本有什么弊端?...
  7. metrics的timer功能在java项目中的使用方法
  8. pythonturtle魔法阵_深圳Pythonlevel1
  9. pythonweb项目面试题_python和web框架面试题目整理(1)
  10. html在线播放avi视频,Doinb涉嫌踩一捧一?暖心安慰小天,拿kanavi做比较却遭到非议...