android群英传笔记--第三章--自定义控件三简单形状View
来源:互联网 发布:php阿里蜘蛛池 编辑:程序博客网 时间:2024/05/17 04:25
onMeasure OnDraw 最简单的使用教程
@Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { mMeasureWidth = MeasureSpec.getSize(widthMeasureSpec); mMeasureHeigth = MeasureSpec.getSize(heightMeasureSpec); setMeasuredDimension(mMeasureWidth, mMeasureHeigth); initView(); }
@Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); // 绘制圆 canvas.drawCircle(mCircleXY, mCircleXY, mRadius, mCirclePaint); // 绘制弧线 canvas.drawArc(mArcRectF, 270, mSweepAngle, false, mArcPaint); // 绘制文字 canvas.drawText(mShowText, 0, mShowText.length(), mCircleXY, mCircleXY + (mShowTextSize / 4), mTextPaint); }
关键逻辑方法:
private void initView() { float length = 0; if (mMeasureHeigth >= mMeasureWidth) { length = mMeasureWidth; } else { length = mMeasureHeigth; } mCircleXY = length / 2; mRadius = (float) (length * 0.5 / 2); mCirclePaint = new Paint(); mCirclePaint.setAntiAlias(true); mCirclePaint.setColor(getResources().getColor( android.R.color.holo_blue_bright)); mArcRectF = new RectF( (float) (length * 0.1), (float) (length * 0.1), (float) (length * 0.9), (float) (length * 0.9)); mSweepAngle = (mSweepValue / 100f) * 360f; mArcPaint = new Paint(); mArcPaint.setAntiAlias(true); mArcPaint.setColor(getResources().getColor( android.R.color.darker_gray)); mArcPaint.setStrokeWidth((float) (length * 0.1)); mArcPaint.setStyle(Style.STROKE); mShowText = setShowText(); mShowTextSize = setShowTextSize(); mTextPaint = new Paint(); mTextPaint.setTextSize(mShowTextSize); mTextPaint.setTextAlign(Paint.Align.CENTER); }
0 0
- android群英传笔记--第三章--自定义控件三简单形状View
- android群英传笔记--第三章--自定义控件二topView的简单封装
- Android群英传-自定义View、控件
- 自定义View(三)(Android群英传)
- Android群英传读书笔记第三章(Android控件架构与自定义View)
- 自定义view android群英传笔记
- Android群英传笔记——第三章:Android控件架构与自定义控件讲解
- Android群英传第三章笔记·Android控件架构与自定义控件详解
- Android群英传笔记——第三章:Android控件架构与自定义控件讲解
- 《Android群英传》阅读笔记——第三章:Android控件架构与自定义控件详解
- Android群英传 第三章-控件架构与自定义控件
- Android群英传——第三章自定义View
- android群英传笔记--第三章--自定义控件一跑马灯光扫过字体
- android群英传笔记--第三章--自定义控件四音频条形图
- android群英传笔记--第三章--自定义控件五粘性上下滑动scrollview
- 自定义View (Android群英传)
- 《Android群英传》读书笔记(1)第三章:Android控件与自定义控件详解
- Android群英传读书笔记 第三章 Android控件架构与自定义控件详解
- hibernate实验
- C语言顺序表的简单实现
- poj---1751 Highways
- HDU 4296 Buildings
- 进程通信---管道通信
- android群英传笔记--第三章--自定义控件三简单形状View
- effective C++之静态全局变量的初始化问题及解决办法
- 一个简单的自定义DialogFragment
- 应用程序初次运行数据库配置小程序(Java版)
- 继承小结
- 弱引用的集合类
- Storm介绍
- <杂谈>参加饿了吗高管讲座的一些记录
- mnnu第三次练习【fzoj 2221】简单博弈 同gay game