Android如何使用自定义view在指定时间内匀速画一条直线

本篇内容介绍了“Android如何使用自定义view在指定时间内匀速画一条直线”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

创新互联公司专注于企业成都全网营销推广、网站重做改版、桦甸网站定制设计、自适应品牌网站建设、html5成都做商城网站、集团公司官网建设、外贸营销网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为桦甸等各大城市提供网站开发制作服务。

1.效果图:

Android如何使用自定义view在指定时间内匀速画一条直线

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如何使用自定义view在指定时间内匀速画一条直线”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注创新互联网站,小编将为大家输出更多高质量的实用文章!


新闻标题:Android如何使用自定义view在指定时间内匀速画一条直线
网站URL:http://bzwzjz.com/article/jgjgds.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 公司网站建设 教育网站设计方案 成都网站建设 营销网站建设 达州网站设计 成都h5网站建设 网站制作报价 上市集团网站建设 成都网站建设公司 成都网站建设 高端品牌网站建设 成都网站制作 网站建设公司 成都网站建设 成都响应式网站建设公司 四川成都网站制作 成都网站设计 专业网站设计 定制级高端网站建设 企业网站建设公司 做网站设计 网站制作