2010년 5월 24일 월요일

[android] Font Example

초간단 폰트 예제다...

기본적으로 3개의 폰트를 지원한다.

위 3개도 꽤 훌륭한데 사용자가 custom 해서 쓰고싶을 경우 예제임..

간혹, 트루타입 글꼴가운데 안드로이드가 읽지 못하는 글꼴이 있음.

가능하다면 글꼴 파일 이름 모두 소문자로 사용 하는 것이 좋음.

트루타입 글꼴을 사용하여 모든 글짜를 표현하면 파일 용량이 너무 커질 수도 있으므로

꼭! 필요한 글꼴만 추가하여 사용하는 것이 좋겠다..

 

#. main.xml

<?xml version="1.0" encoding="utf-8"?>
<TableLayout
 xmlns:android="http://schemas.android.com/apk/res/android"
 android:layout_width="fill_parent"
 android:layout_height="fill_parent"
 android:stretchColumns="1">
 <TableRow>
  <TextView
   android:text="sans:"
   android:layout_marginRight="4px"
   android:textSize="20sp"
  />
  <TextView
   android:id="@+id/sans"
   android:text="Hello, world!"
   android:typeface="sans"
   android:textSize="20sp"
  />
 </TableRow>
 <TableRow>
  <TextView
   android:text="serif:"
   android:layout_marginRight="4px"
   android:textSize="20sp"
  />
  <TextView
   android:id="@+id/serif"
   android:text="Hello, world!"
   android:typeface="serif"
   android:textSize="20sp"
  />
 </TableRow>
 <TableRow>
  <TextView
   android:text="monospace:"
   android:layout_marginRight="4px"
   android:textSize="20sp"
  />
  <TextView
   android:id="@+id/monospace"
   android:text="Hello, world!"
   android:typeface="monospace"
   android:textSize="20sp"
  />
 </TableRow>
 <TableRow>
  <TextView
   android:text="Custom:"
   android:layout_marginRight="4px"
   android:textSize="20sp"
  />
  <TextView
   android:id="@+id/custom"
   android:text="Hello, 안녕하세요"
   android:textSize="20sp"
  />
 </TableRow>
</TableLayout>

 

 

#. FontExample

package com.android.fontExample;

import android.app.Activity;
import android.graphics.Typeface;
import android.os.Bundle;
import android.widget.TextView;

public class FontExample extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
       
        TextView tv = (TextView) findViewById(R.id.custom);
       
        // 원하는 글꼴 assert/디렉토리 에 포함..
        Typeface face = Typeface.createFromAsset(getAssets(), "fonts/HandmadeTypewritter.ttf");
       
        tv.setTypeface(face);
    }
}

댓글 없음:

댓글 쓰기