Android使用自定義view在指定時間內勻速畫一條直線的實例代碼
更新時間:2018年05月15日 10:59:18 投稿:yanan
這篇文章主要介紹了Android使用自定義view在指定時間內勻速畫一條直線的實例代碼,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
本文講述了Android使用自定義view在指定時間內勻速畫一條直線的實例代碼。分享給大家供大家參考,具體如下:
1.效果圖:

2.自定義view實現(xiàn)
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實現(xiàn)定時拍照并發(fā)送微博功能
- android實現(xiàn)定時拍照功能
- Android使用Handler實現(xiàn)定時器與倒計時器功能
- Android定時器和倒計時實現(xiàn)淘寶秒殺功能
- Android CountDownTimer實現(xiàn)定時器和倒計時效果
- android service實現(xiàn)循環(huán)定時提醒功能
- android用鬧鐘定時做http請求推送的解決方案
- Android鬧鐘機制實現(xiàn)定時任務功能
- Android編程實現(xiàn)popupwindow定時消失的方法
- Android中AlarmManager+Notification實現(xiàn)定時通知提醒功能
- 詳解Android實現(xiàn)定時器的幾種方法
- Android定時開機的流程詳解
相關文章
Android仿微信右上角點擊加號彈出PopupWindow
這篇文章主要為大家詳細介紹了Android仿微信右上角點擊加號彈出PopupWindow,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-04-04
java,Android:在eclipse中的快捷鍵(經(jīng)典收藏)
下面的快捷鍵是常用的,本人就本身喜好且常用的收拾一下,現(xiàn)在曬出來與大家分享,感興趣的朋友可以了解小哦2013-01-01
Android從Fragment跳轉到其他Activity的簡單實例
這篇文章主要介紹了Android從Fragment跳轉到其他Activity的簡單實例,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2020-02-02
Android Studio實現(xiàn)帶邊框的圓形頭像
這篇文章主要為大家詳細介紹了Android Studio實現(xiàn)帶邊框的圓形頭像,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-10-10
Android使用相機實現(xiàn)拍照存儲及展示功能詳解
這篇文章主要介紹了Android使用相機實現(xiàn)拍照存儲及展示功能,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習吧2023-01-01

