本文讲述了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 动态生成fragment,Android动态加载fragment(fragment复用)

    [实例简介] Android动态加载fragment(fragment复用) [实例截图] [核心代码] fm_reuse └── fm_reuse ├── AndroidManifest.xml ├ ...

  3. android 动态生成tablelayout,Android 表格布局TableLayout示例详解

    一.表格布局 TableLayout 表格布局TableLayout以行列的形式管理子元素,每一行是一个TableRow布局对象,当然也可以是普通的View对象,TableRow离每放一个元素就是一列 ...

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

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

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

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

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

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

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

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

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

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

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

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

最新文章

  1. php 显示要上传的图片格式,php判断文件上传图片格式的实例详解
  2. JSP实现医院住院管理系统
  3. 设计模式一 多例模式(Multition Pattern)
  4. Sqlserver中 登录用户只能看到自己拥有权限的库
  5. Zinterstore 命令
  6. Redis实现关注关系
  7. 计算日期时间间隔,可计算情侣计算在一起的。精确到,天,时,分,秒(输入的日期距离现在有:819天19670小时1180221分钟70813262秒)
  8. Redis Cluster 伪集群的搭建
  9. python 干什么工作具有明显优势-Python到底能做什么?它的优点在哪
  10. (python)GA(遗传算法)优化LSTM神经网络(亲测成功,速度慢)
  11. 软件开发文档的编写---软件研制任务书 (2015-03-14 17:55:03)转载▼ 标签: 软件 文档 任务书 需求 要求 分类: 软件过程改进 一. 简介 客户要
  12. ObjectiveC开发教程--如何判断字符串是否为空的方法
  13. 在html中如何画斜线,在CSS中绘制斜线
  14. vue项目中,图片无法显示时或者访问图片出现404时,显示默认图片,但默认图片路径出错
  15. Zotero使用OneDrive云存储附件(OneDrive+Zotero)
  16. C#视频处理,调用强大的ffmpeg
  17. 如何修改3D模型的原子属性
  18. mysql中limit2,1和limit2 offset 1的区别
  19. 在线微量水总结与应用
  20. 一个Ajax数字排列游戏

热门文章

  1. 中国云市场生变:华为云 Q2 份额超 AWS,IaaS+PaaS 迎来整体增长
  2. 为什么 Java 进程使用的 RAM 比 Heap Size 大?​ | CSDN博文精选
  3. Java 8 终于支持 Docker !
  4. 阿里技术副总裁贾扬清:我对人工智能的一点浅见 | 技术头条
  5. 为什么 Python 不用设计模式?
  6. 除了写代码,程序员还能做哪些副业呢?
  7. 爬取两万多条租房数据,算算在广州你能「活到」第几集?
  8. 被苹果“先捧后杀”的操作系统
  9. 李彦宏:AI 企业要保护隐私;罗永浩回应酷派“欠钱不还”;ofo 郑州公司人去楼空 | 极客头条...
  10. Python 爬取 B 站数据分析,宋智孝李光洙谁最受中国粉丝喜爱