android在指定时间内匀速画一条直线
来源:互联网 发布:淘宝托管协议 编辑:程序博客网 时间:2024/05/17 01:41
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);
阅读全文
0 0
- android在指定时间内匀速画一条直线
- supermap imobile for android 在代码中画一条直线
- 在对话框上画一条三维直线
- 在WindowFrom中画一条直线
- 在LCD19264 中任意位置画一条直线,或者删除一条直线
- 画一条直线
- 画一条直线
- (DFB) 在屏幕中间画一条直线
- 调用调色板在对话框中画一条直线
- 如何在Google Map上画一条直线
- 在指定时间内令按钮失效
- 两点之画一条直线
- 画一条简单的直线
- Android 隐藏广告或按钮+在指定时间内出现广告或者按钮.
- 控制台在指定位置画矩形,写字符串,画直线
- 如何在matplotlib中两个坐标轴之间画一条直线光标
- LigerUi中利用DIV画一条直线!
- cocos2d之教你画一条直线
- 为什么masonry的block里引用self不需要weak?
- Google 的Protobuf 技术详解
- LCT(Link Cut Tree)动态树学习笔记
- Java并发之同步工具
- 5分钟上手写ECharts的第一个图表
- android在指定时间内匀速画一条直线
- 小笔记--JS字符串方法
- 变量的解构赋值
- git clone与提交项目
- Android开源库——EventBus使用教程
- 异步编程与多线程编程的联系和区别
- TPC/IP协议
- markdownpad2页内跳转语法实例
- Address already in use: JVM_Bind问题的解决