【功能说明】该方法用于在画布上绘制圆角矩形,通过指定RectF对象以及圆角半径来实现。该方法是绘制圆角矩形的主要方法,同时也可以通过设置画笔的空心效果来绘制空心的圆角矩形。

【基本语法】public void drawRoundRect (RectF rect, float rx, float ry, Paint paint)

参数说明

rect:RectF对象。

rx:x方向上的圆角半径。

ry:y方向上的圆角半径。

paint:绘制时所使用的画笔。

【实例演示】下面通过代码来演示如何在画布上绘制圆角矩形。


1. protected void onDraw(Canvas canvas) {  
2.     // TODO Auto-generated method stub  
3.     super.onDraw(canvas);  
4.     paint.setAntiAlias(true);                       //设置画笔为无锯齿  
5.     paint.setColor(Color.BLACK);                    //设置画笔颜色  
6.     canvas.drawColor(Color.WHITE);                  //白色背景  
7.     paint.setStrokeWidth((float) 3.0);              //线宽  
8.     paint.setStyle(Style.STROKE);                   //空心效果  
9. r1=new Rect();                         //Rect对象  
10. r1.left=50;                                 //左边  
11. r1.top=50;                                  //上边  
12. r1.right=450;                                   //右边  
13. r1.bottom=250;                              //下边  
14.     canvas.drawRect(r1, paint);                 //绘制矩形  
15. r2=new RectF();                           //RectF对象  
16. r2.left=50;                                 //左边  
17. r2.top=400;                                 //上边  
18. r2.right=450;                                   //右边  
19. r2.bottom=600;                              //下边  
20.     canvas.drawRoundRect(r2, 10, 10, paint);        //绘制圆角矩形  
21. }

在这段代码中,首先设置了Paint画笔的颜色,并设置Canvas画布为白色背景。接着设置画笔的线宽以及空心效果,这样将绘制出空心矩 形。最后,调用drawRect方法在画布上绘制了一个矩形,调用drawRoundRect方法在画布上绘制了一个圆角矩形。读者运行这段代码,可以在 手机屏幕上看到如图8.18所示的显示效果。

drawRoundRect方法:绘制圆角矩形_圆角矩形

 


图8.17  绘制矩形

drawRoundRect方法:绘制圆角矩形_canvas_02

 


图8.18  绘制圆角矩形