中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Android怎么使用自定義view在指定時間內勻速畫一條直線

發布時間:2021-06-28 10:09:31 來源:億速云 閱讀:170 作者:小新 欄目:移動開發

這篇文章給大家分享的是有關Android怎么使用自定義view在指定時間內勻速畫一條直線的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

具體如下:

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在指定時間內勻速畫一條直線”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

潢川县| 融水| 皋兰县| 从化市| 什邡市| 商城县| 敦化市| 常宁市| 新疆| 榆中县| 普陀区| 伊吾县| 嘉鱼县| 右玉县| 通河县| 新乡市| 长武县| 永寿县| 临潭县| 祁连县| 赞皇县| 洮南市| 北票市| 集贤县| 太原市| 马公市| 大关县| 宕昌县| 资兴市| 清徐县| 工布江达县| 佛山市| 南昌县| 治多县| 营山县| 北宁市| 民丰县| 濮阳县| 鄯善县| 调兵山市| 景泰县|