自定义view进度条圆形
来源:互联网 发布:大数据用户画像培训 编辑:程序博客网 时间:2024/04/28 08:54
public class MyVicrClass extends View { Timer timer = null; int outColor = Color.BLACK; float du = 0; Handler handler = new Handler(){ @Override public void handleMessage(Message msg) { super.handleMessage(msg); invalidate(); if(du>=360){ timer.cancel(); } } }; public MyVicrClass(Context context) { super(context); } public MyVicrClass(Context context, AttributeSet attrs) { super(context, attrs); } public MyVicrClass(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); } @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP) public MyVicrClass(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) { super(context, attrs, defStyleAttr, defStyleRes); } @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { super.onMeasure(widthMeasureSpec, heightMeasureSpec); } @Override protected void onLayout(boolean changed, int left, int top, int right, int bottom) { super.onLayout(changed, left, top, right, bottom); } @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); Paint pa = new Paint(); Paint p1=new Paint(); Paint p2=new Paint(); float fw=getWidth()/2; float fh=getHeight()/2; Paint p3 = new Paint(); p3.setColor(Color.RED); RectF rectF = new RectF(getWidth()/2-100,getHeight()/2-100,getWidth()/2+100,getHeight()/2+100); canvas.drawArc(rectF,0,du,true,p3); pa.setColor(Color.BLACK); p1.setColor(outColor); p2.setColor(Color.WHITE); pa.setTextSize(20); p1.setAntiAlias(true); p2.setAntiAlias(true); canvas.drawCircle(fw,fh,80,p1); canvas.drawCircle(fw,fh,60,p2); canvas.drawText("100%",fw,fh,pa); } @Override public boolean onTouchEvent(MotionEvent event) { if(event.getAction() == MotionEvent.ACTION_DOWN){ if(event.getX()<getWidth()/2&&event.getY()<250){ timer = new Timer(); timer.schedule(new TimerTask() { @Override public void run() { du+=12; handler.sendEmptyMessage(1); } },1000,1000); }if(event.getX()>getWidth()/2&&event.getY()<250){ du=0; handler.sendEmptyMessage(1); }if(event.getY()<getHeight()-100){ outColor=Color.BLUE; invalidate(); } } return super.onTouchEvent(event); }}
阅读全文
0 0
- 自定义View圆形进度条
- 自定义view圆形进度条。
- 自定义View圆形进度条
- 自定义view圆形进度条
- 自定义view进度条圆形
- 自定义view 圆形进度条
- 自定义View 圆形进度条
- 自定义view 圆形进度条
- 自定义View画圆形进度条
- android 圆形进度条 自定义view
- 自定义view之一-----圆形进度条
- 自定义View实现圆形进度条
- android 自定义view 圆形进度条
- 自定义view之圆形进度条
- Android自定义View---圆形进度条
- 自定义View绘制圆形进度条
- 自定义View实现圆形进度条
- 自定义view之圆形进度条
- CommandLineRunner详解
- iOS 局部变量 全局变量 成员变量
- windows环境安装pyhs2
- ViewPager实现Fragment切换
- 实现高端的自定义View属性动画自定义圆改变颜色进行下平移
- 自定义view进度条圆形
- IS-ISLSP的“泛洪”
- 自定义小圆点并移动
- ORACLE:ora-00942:表或视图不存在怎样解决,或者无法创建约束
- Kotlin类和对象 (五)--- 扩展
- 1.spring boot简介
- zabbix之自定义监控(项目日志监控)
- PHP 购物车 session(非框架)
- Java发展史