Java/Android

[안드로이드 기본] 커스텀 뷰를 사용하여 그리기

반나무 2020. 5. 18. 16:30

package com.example.graphic;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.os.Bundle;
import android.view.View;

class MyView extends View {
    public MyView(Context context){
        super(context);
        setBackgroundColor(Color.BLUE);
    }

    protected void onDraw(Canvas canvas){
        Paint paint = new Paint();
        paint.setColor(Color.YELLOW); //그림 색상
        paint.setStrokeWidth(20); //라인 width

        //그림 그리기
        canvas.drawLine(100,100,700,100,paint);
        canvas.drawRect(100,300,700,700,paint);
        canvas.drawCircle(300,1200,200,paint);
        //텍스트 그리기
        paint.setTextSize(80);
        canvas.drawText("This is a test.",100,900,paint);
    }
}

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //MyView를 생성하고 이것을 activity의 컨텐트 뷰로 설정한다.
        MyView w = new MyView(this);
        setContentView(w);
    }
}

canvas.drawLine(startX좌표, startY좌표, endX좌표, endY좌표, paint);

 

canvas.drawRect(left좌표, top좌표, right좌표, bottom좌표, paint);

좌측상단(left,top), 우측하단(right,bottom)

 

canvas.drawCircle(cx좌표, cy좌표, radius, paint);

중심좌표(cx,cy)

반응형