题目来自:《android高薪之路—android程序员面试宝典》一书 ,只是为了个人学习方便
实现效果如下:
代码如下:
- package com.app;
- import android.content.Context;
- import android.graphics.Canvas;
- import android.graphics.Color;
- import android.graphics.Paint;
- import android.graphics.Paint.Style;
- import android.graphics.RectF;
- import android.view.View;
- public class DrawArcPostTextView extends View{
- public DrawArcPostTextView(Context context) {
- super(context);
- }
- @Override
- protected void onDraw(Canvas canvas) {
- super.onDraw(canvas);
- Paint paint = new Paint();
- paint.setColor(Color. BLUE);
- paint.setStyle(Style. STROKE);
- //paint.setStyle(Style.FILL_AND_STROKE);
- //paint.setStyle(Style.FILL);
- paint.setTextSize(30);
- RectF rectF = new RectF();//四个float型坐标
- rectF. left=100;
- rectF. right=240;
- rectF. bottom=200;
- rectF. top=100;
- canvas.drawArc(rectF, 0, 360, true, paint);//画一个椭圆
- //rectF.left=120;
- //rectF.right=260;
- //rectF.bottom=200;
- //rectF.top=100;
- //canvas.drawOval(rectF, paint); //画一个椭圆
- rectF. left=120;
- rectF. right=220;
- rectF. bottom=200;
- rectF. top=100;
- canvas.drawArc(rectF, 0, 360, true, paint);//画一个圆形
- canvas.drawPosText( "圆形", new float[]{140,140,210,250}, paint);
- }
- }
转载于:https://blog.51cto.com/3599672/941097