android在指定时间内匀速画一条直线
2017-12-20 14:45
363 查看
1.效果图:
2.自定义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 播放视频并获取指定时间的帧画面
- Android 字符串转指定格式时间 日期处理 去掉月份或天多余的0 获取今天 昨天 明天等的日期和星期
- Android-指定时间定时触发方法
- 关于java 和 android 下获取指定时间是本年第几周不一致问题的解决方法
- android 获取指定月份的开始时间 结束时间
- Android 根据指定某日时间,获取指定星期【原创】
- Android 时间字符串 转成UTC时间转为指定时间的时间字符串
- Android 6.0 Kotlin 蓝牙BLE扫描(改为指定时间没有发现新设备后停止扫描)
- Android 获取年月日时分秒 格式化指定时间字符串
- android 指定时间加一个小时算法
- Android 开发之 SimpleDateFormat 类解析&输出指定格式的日期时间字符串
- Android 播放视频并获取指定时间的帧画面
- Android关于界面一定时间无操作自动跳转到指定界面的实现
- Android 使用定时器在指定日期及时间执行任务
- Android 指定日期时间执行任务的Timer
- android连接指定wifi,程序断开wifi并保证系统不自动重新连接,记录wifi连接时间
- 向系统日历添加一条事件(时间指定)
- supermap imobile for android 在代码中画一条直线
- 关于android 指定视频播放某段时间