Android Rect 的使用以及与RectF的区别
生活随笔
收集整理的這篇文章主要介紹了
Android Rect 的使用以及与RectF的区别
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
Rect 保存矩形的四個整數(shù)坐標。矩形是由四條邊(左、上、右下)的坐標表示,
繪制矩形的時候用得到
// 設(shè)置抗鋸齒效果 true是去邊緣會將鋸齒模糊化paint.setAntiAlias(true);// 設(shè)置畫筆的style (Paint.Style.FILL填充,Paint.Style.STROKE描邊,Paint.Style.FILL_AND_STROKE填充加描邊 )paint.setStyle(Paint.Style.FILL_AND_STROKE);// 設(shè)置畫筆的顏色paint.setColor(Color.RED);//設(shè)置描邊寬度paint.setStrokeWidth(10);// 繪制正方形canvas.drawRect(100, 100, 600, 300, paint);
這里沒有使用到Rect 下面使用Rect 繪制一下矩形
// 設(shè)置抗鋸齒效果 true是去邊緣會將鋸齒模糊化paint.setAntiAlias(true);// 設(shè)置畫筆的style (Paint.Style.FILL填充,Paint.Style.STROKE描邊,Paint.Style.FILL_AND_STROKE填充加描邊 )paint.setStyle(Paint.Style.FILL);// 設(shè)置畫筆的顏色paint.setColor(Color.RED);//設(shè)置描邊寬度paint.setStrokeWidth(50);// 繪制正方形Rect rect = new Rect(200, 100, 800, 400);canvas.drawRect(rect, paint);
ok 繪制好了,但是這樣寫有警告添加一個注解警告才消失換成下面的寫法就沒有問題了
// 設(shè)置抗鋸齒效果 true是去邊緣會將鋸齒模糊化paint.setAntiAlias(true);// 設(shè)置畫筆的style (Paint.Style.FILL填充,Paint.Style.STROKE描邊,Paint.Style.FILL_AND_STROKE填充加描邊 )paint.setStyle(Paint.Style.FILL);// 設(shè)置畫筆的顏色paint.setColor(Color.RED);//設(shè)置描邊寬度paint.setStrokeWidth(50);// 繪制正方形Rect rect = new Rect();rect.left = 200;rect.top = 100;rect.right = 800;rect.bottom = 400;canvas.drawRect(rect, paint);
從源碼里面我們可以看到Rect 里面的參數(shù)是int 類型的,
有時候我們使用的距離可能計算出來的比如某個高度的除以2 得出來的,可能不是int 類型 這個使用
就不適合使用Rect 了,我們可以使用RectF
我們可以看下RectF的源碼里面是float 類型的
它們的功能都是相同的,不同點就是它們的參數(shù)類型
RectF 畫的矩形如下 (參數(shù)自己隨便寫的定義float 類型)
// 設(shè)置抗鋸齒效果 true是去邊緣會將鋸齒模糊化paint.setAntiAlias(true);// 設(shè)置畫筆的style (Paint.Style.FILL填充,Paint.Style.STROKE描邊,Paint.Style.FILL_AND_STROKE填充加描邊 )paint.setStyle(Paint.Style.FILL);// 設(shè)置畫筆的顏色paint.setColor(Color.RED);//設(shè)置描邊寬度paint.setStrokeWidth(50);// 繪制正方形RectF rect = new RectF();rect.left = 100.1f;rect.top = 100.1f;rect.right = 800.1f;rect.bottom = 400.1f;canvas.drawRect(rect, paint);
?
總結(jié)
以上是生活随笔為你收集整理的Android Rect 的使用以及与RectF的区别的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android 自定义View —— P
- 下一篇: 山东邵广基珍珠长毛兔毛价格是多少钱?