题目来自:《android高薪之路—android程序员面试宝典》一书  ,只是为了个人学习方便

  实现效果如下:

 

 

代码如下:

 

 
  
  1. package com.app;  
  2.  
  3. import android.content.Context;  
  4. import android.graphics.Canvas;  
  5. import android.graphics.Color;  
  6. import android.graphics.Paint;  
  7. import android.graphics.Paint.Style;  
  8. import android.graphics.RectF;  
  9. import android.view.View;  
  10.  
  11. public class DrawArcPostTextView extends View{  
  12.        public DrawArcPostTextView(Context context) {  
  13.              super(context);  
  14.       }  
  15.        @Override  
  16.        protected void onDraw(Canvas canvas) {  
  17.              super.onDraw(canvas);  
  18.             Paint paint = new Paint();  
  19.             paint.setColor(Color. BLUE);  
  20.             paint.setStyle(Style. STROKE);  
  21.              //paint.setStyle(Style.FILL_AND_STROKE);  
  22.              //paint.setStyle(Style.FILL);  
  23.             paint.setTextSize(30);  
  24.             RectF rectF = new RectF();//四个float型坐标  
  25.             rectF. left=100;  
  26.             rectF. right=240;  
  27.             rectF. bottom=200;  
  28.             rectF. top=100;  
  29.             canvas.drawArc(rectF, 0, 360, true, paint);//画一个椭圆  
  30.              //rectF.left=120;  
  31.              //rectF.right=260;  
  32.              //rectF.bottom=200;  
  33.              //rectF.top=100;  
  34.              //canvas.drawOval(rectF, paint); //画一个椭圆  
  35.             rectF. left=120;  
  36.             rectF. right=220;  
  37.             rectF. bottom=200;  
  38.             rectF. top=100;  
  39.             canvas.drawArc(rectF, 0, 360, true, paint);//画一个圆形  
  40.             canvas.drawPosText( "圆形", new float[]{140,140,210,250}, paint);  
  41.       }  
  42. }