android群英传笔记--第三章--自定义控件三简单形状View
2016-10-24 23:03
477 查看
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); }
相关文章推荐
- android群英传笔记--第三章--自定义控件三简单形状View
- android群英传笔记--第三章--自定义控件三简单形状View
- android群英传笔记--第三章--自定义控件三简单形状View
- android群英传笔记--第三章--自定义控件三简单形状View
- android群英传笔记--第三章--自定义控件三简单形状View
- android群英传笔记--第三章--自定义控件三简单形状View
- android群英传笔记--第三章--自定义控件三简单形状View
- android群英传笔记--第三章--自定义控件三简单形状View
- android群英传笔记--第三章--自定义控件二topView的简单封装
- android群英传笔记--第三章--自定义控件二topView的简单封装
- android群英传笔记--第三章--自定义控件二topView的简单封装
- android群英传笔记--第三章--自定义控件二topView的简单封装
- android群英传笔记--第三章--自定义控件二topView的简单封装
- android群英传笔记--第三章--自定义控件二topView的简单封装
- android群英传笔记--第三章--自定义控件二topView的简单封装
- android群英传笔记--第三章--自定义控件二topView的简单封装
- android群英传笔记--第三章--自定义控件二topView的简单封装
- android群英传笔记--第三章--自定义控件四音频条形图
- android群英传笔记--第三章--自定义控件一跑马灯光扫过字体
- android群英传笔记--第三章--自定义控件一跑马灯光扫过字体