本文讲述了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); 

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。

更多相关文章

  1. Android学习笔记(三) 之模拟打电话
  2. cocos2dx的学习
  3. Android学习笔记:通过Android之Service实现文件断点续传下载
  4. 打造自己的Android源码学习环境之五:编译Android源代码
  5. Android(安卓)学习记录
  6. android自定义视图属性学习
  7. adb命令的学习
  8. Android实现图片浮动随意拖拽效果
  9. 【Android学习笔记】Spinner

随机推荐

  1. Android(安卓)Service详解(一)---概述
  2. android圆角dialog,并限制宽度和高度
  3. ANDROID GRIDVIEW 点击某个位置获取某个
  4. Android EditText达到SearchView的效果
  5. ubuntu 不是 识别 android 设备 解决方法
  6. Android4.1 Rotation 小结
  7. android MD5加密(二)
  8. android 圆角背景和通过menu键功能弹出po
  9. 高德地图-Android-逆地理转换:经纬度转换
  10. android 软键盘自动弹出和关闭