ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [안드로이드 스튜디오] 캔버스로 폰트 설정
    프로그래밍/XML | JAVA 2024. 5. 13. 13:28


    JAVA

    package com.example.a09_29;
    
    import android.content.Context;
    import android.graphics.Canvas;
    import android.graphics.Color;
    import android.graphics.Paint;
    import android.graphics.Typeface;
    import android.os.Bundle;
    import android.view.View;
    
    import androidx.appcompat.app.AppCompatActivity;
    
    public class MainActivity extends AppCompatActivity {
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main); // activity_main.xml에서 레이아웃을 설정합니다.
            MyView w = new MyView(this); // 현재 컨텍스트를 전달하여 MyView의 인스턴스를 생성합니다.
            setContentView(w); // MyView를 액티비티의 콘텐츠 뷰로 설정합니다.
        }
    
        // MainActivity 내부에 MyView를 내부 클래스로 정의합니다.
        class MyView extends View {
            public MyView(Context context) {
                super(context);
                setBackgroundColor(Color.YELLOW); // MyView의 배경색을 노란색으로 설정합니다.
            }
    
            @Override
            protected void onDraw(Canvas canvas) {
                super.onDraw(canvas); // 기본 그리기 동작을 수행하기 위해 상위 클래스 메서드를 호출합니다.
                Paint paint = new Paint(); // 그리기를 위한 새 Paint 객체를 생성합니다.
                paint.setAntiAlias(true); // 부드러운 가장자리를 위해 안티앨리어싱을 활성화합니다.
                paint.setTextSize(100); // 텍스트 크기를 100픽셀로 설정합니다.
    
                Typeface t; // 글꼴을 커스터마이징하기 위한 Typeface 변수를 선언합니다.
    
                t = Typeface.DEFAULT; // 기본 글꼴로 설정합니다.
                paint.setTypeface(t); // Paint 객체에 기본 글꼴을 적용합니다.
                canvas.drawText("DEFAULT 폰트", 10, 200, paint); // (10, 200) 좌표에 텍스트를 그립니다.
    
                t = Typeface.create(Typeface.SERIF, Typeface.ITALIC); // 세리프 글꼴을 이탤릭체로 생성합니다.
                paint.setTypeface(t); // Paint 객체에 이탤릭체 세리프 글꼴을 적용합니다.
                canvas.drawText("SERIF 폰트", 10, 300, paint); // (10, 300) 좌표에 텍스트를 그립니다.
    
                t = Typeface.create(Typeface.SANS_SERIF, Typeface.BOLD_ITALIC); // 산세리프 글꼴을 볼드 이탤릭체로 생성합니다.
                paint.setTypeface(t); // Paint 객체에 볼드 이탤릭체 산세리프 글꼴을 적용합니다.
                canvas.drawText("SANS_SERIF 폰트", 10, 400, paint); // (10, 400) 좌표에 텍스트를 그립니다.
            }
        }
    }

     

Designed by Tistory.