본문 바로가기

코드조각모음

[android014] 트루타입 폰트 사용 예제

import android.app.*;
import android.content.*;
import android.graphics.*;
import android.os.*;
import android.view.*;

public class FontTest extends Activity
{
    class RenderView extends View
    {
        Paint paint;
        Typeface font;
        Rect bounds = new Rect();
       
        public RenderView(Context context)
        {
            super(context);
            paint = new Paint();
            font = Typeface.createFromAsset(context.getAssets(), "font.ttf");
        }
       
        protected void onDraw(Canvas canvas)
        {
            paint.setColor(Color.YELLOW);
            paint.setTypeface(font);
            paint.setTextSize(28);
            paint.setTextAlign(Paint.Align.CENTER);
            canvas.drawText("Hello, World!",
                    canvas.getWidth()/2,
                    100,
                    paint);
           
            String text = "이 글은 어떻게 출력될까?";
            paint.setColor(Color.WHITE);
            paint.setTextSize(18);
            paint.setTextAlign(Paint.Align.LEFT);
            paint.getTextBounds(text, 0, text.length(), bounds);
            canvas.drawText(
                    text,
                    canvas.getWidth() - bounds.width(),
                    140,
                    paint);
            invalidate();
        }
    }
   
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        getWindow().setFlags(
                WindowManager.LayoutParams.FLAG_FULLSCREEN,
                WindowManager.LayoutParams.FLAG_FULLSCREEN);
        setContentView(new RenderView(this));
    }
}