【AndroidのCanvasに向き合おう】 四角や角丸四角を描こう

このエントリーを Google ブックマーク に追加
Pocket
[`yahoo` not found]

Canvasに四角、角丸四角を描こう

四角形を書きましょう。

四角形を描画する
void drawRect(float left, float top, float right, float bottom, Paint paint) 四角形の左上と右下の座標を指定して描画する。
  • float left:四角形の左上のx座標を指定する。
  • float top:四角形の左上のy座標を指定する。
  • float right:四角形の右下のx座標を指定する。
  • float bottom:四角形の右下のy座標を指定する。
  • Paint paint:色、塗りつぶし方法を指定する。
void drawRect(Rect rect, Paint paint) Rectを使って位置と幅高さを指定し四角形を描画する。
  • Rect rect:四角形の位置、幅・高さを指定する。
  • Paint paint:色、塗りつぶし方法を指定する。
void drawRect(RectF rect, Paint paint) RectFを使って位置と幅高さを指定し四角形を描画する。
  • RectF rect:四角形の位置、幅・高さを指定する。
  • Paint paint:色、塗りつぶし方法を指定する。
void drawRoundRect(float left, float top, float right, float bottom, float rx, float ry, Paint paint) 角丸四角形の左上と右下の座標を指定し、x軸方向の径とy軸方向の径を指定して描画する。
  • float left:四角形の左上のx座標を指定する。
  • float top:四角形の左上のy座標を指定する。
  • float right:四角形の右下のx座標を指定する。
  • float bottom:四角形の右下のy座標を指定する。
  • float rx:角のx軸方向の径を指定する。
  • float ry:角のy軸方向の径を指定する。
  • Paint paint:色、塗りつぶし方法を指定する。
void drawRoundRect(RectF rect, float rx, float ry, Paint paint) RectFを使って位置と幅高さを指定しx軸方向の径とy軸方向の径を指定し角丸四角形を描画する。
  • RectF rect:四角形の位置、幅・高さを指定する。
  • float rx:角のx軸方向の径を指定する。
  • float ry:角のy軸方向の径を指定する。
  • Paint paint:色、塗りつぶし方法を指定する。

 

使用例

四角形・角丸四角形を描画するようなカスタムViewを作りました。

    public class MyCanvasRects extends View{
        public MyCanvasRects(Context context, AttributeSet attrs) {
            super(context, attrs);
        }

        @Override
        protected void onDraw(Canvas canvas) {
            Paint paint = new Paint();
            //直径を10に設定
            paint.setStrokeWidth(10);
            //枠線だけを描画する
            paint.setStyle(Paint.Style.STROKE);
            //色を赤色に設定
            paint.setColor(Color.RED);
            /**
            * 四角形を定義する
            * ・左上座標[x:100,y:100]
            * ・右下座標[x:200,y:200]
            */
            canvas.drawRect(100,100,200,200, paint);
            //枠内を塗りつぶすを描画する
            paint.setStyle(Paint.Style.FILL);
            //色を緑色に設定
            paint.setColor(Color.GREEN);
            /**
            * 四角形を定義する
            * ・左上座標[x:300,y:100]
            * ・右下座標[x:400,y:200]
            */
            Rect rect = new Rect(300,100,400,200);
            canvas.drawRect(rect , paint);
            //色を青色に設定
            paint.setColor(Color.BLUE);
            /**
            * 四角形を定義する
            * ・左上座標[x:500,y:100]
            * ・右下座標[x:600,y:200]
            */
            RectF rectF = new RectF(500,100,600,200);
            canvas.drawRect(rectF , paint);
            //色を黄色に設定
            paint.setColor(Color.YELLOW);
            /**
            * 四角形を定義する
            * ・左上座標[x:100,y:300]
            * ・右下座標[x:200,y:400]
            * ・x軸方向の半径を20
            * ・y軸方向の半径を20
            */
            canvas.drawRoundRect(100,300,200,400,20,20,paint);
            //色を青色に設定
            paint.setColor(Color.BLACK);
            /**
            * 四角形を定義する
            * ・左上座標[x:300,y:300]
            * ・右下座標[x:400,y:400]
            */
            RectF roundRectF = new RectF(300,300,400,400);
            /**
            * ・x軸方向の半径を50
            * ・y軸方向の半径を20
            */
            canvas.drawRoundRect(roundRectF , 50 , 20 ,paint);
        }
    }

Androidゲームプログラミング A to Z

新品価格
¥4,968から
(2017/2/27 22:58時点)


AndroidエンジニアのためのモダンJava

新品価格
¥3,456から
(2017/2/27 23:01時点)


AndroidNDKネイティブプログラミング第2版

中古価格
¥1,893から
(2017/2/28 00:04時点)


Androidアプリ開発逆引きレシピ (PROGRAMMER’S RECiPE)

新品価格
¥3,024から
(2017/2/28 00:06時点)


Android Studio ではじめる Android プログラミング入門 第3版 Android Studio 2対応

新品価格
¥3,240から
(2017/2/28 00:11時点)


アプリを作ろう! Android入門 Android Studio版 Android5対応

新品価格
¥2,160から
(2017/2/28 00:31時点)


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)