• drawRoundRect方法:绘制圆角矩形


     

    【功能说明】该方法用于在画布上绘制圆角矩形,通过指定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.     Rect 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.     RectF 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所示的显示效果。

     
    图8.17  绘制矩形
     
    图8.18  绘制圆角矩形
    【责任编辑:book TEL:(010)68476606】
  • 相关阅读:
    C语言第三次博客作业---单层循环结构
    C语言第二次博客作业---分支结构
    C语言第一次博客作业——输入输出格式
    C语言--第0次作业
    Codeforces Round #341 Div.2 A. Wet Shark and Odd and Even
    Sources
    kuangbin_SegTree E (HDU 1698)
    (MST) HDOJ 1102 Constructing Roads
    kuangbin_SegTree B (HDU 1754)
    kuangbin_SegTree A (HDU 1166)
  • 原文地址:https://www.cnblogs.com/jackwuyongxing/p/3985863.html
Copyright © 2020-2023  润新知