728x90

출처 : http://nopd.textcube.com/38?expandComment=1

안드로이드는 기본적으로 몇 가지 글꼴이 포함돼있으며, 원하는 글꼴을 따로 추가할 수 있다.

1.1 기본 포함 글꼴

안드로이드는 기본적으로 'sans', 'serif', 'monospace'의 세 가지 글꼴이 내장돼 있다. 세 가지 글꼴 모두 어센터(Ascender)에서 오픈 핸드셋 얼라이언스(Open Handset Alliance)에 제공한 드로이드 글꼴이다.

- 드로이드 글꼴을 사용하려면 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, world!"
android:textSize="20sp"
/>
</TableRow>
</TableLayout>

원하는 외부 글꼴을 사용하는 방법

- 홈디렉토리에 assets/라는 디렉토리를 생성

- assets/fonts 등의 디렉토리를 생성하여 관리하는 것이 깔끔

- 트루타입 글꼴 파일(TTF 파일)을 assets/ 디렉토리에 넣어둔다.

- 자바코드에서 외부 글꼴 지정하도록 코딩

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

public class FontSampler extends Activity {
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.main);

TextView tv=(TextView)findViewById(R.id.custom);
Typeface face=Typeface.createFromAsset(getAssets(),
"fonts/HandmadeTypewriter.ttf");

tv.setTypeface(face);

}
}

예외사항

- 트루타입 글꼴 가운데에도 간혹 안드로이드가 읽어들일 수 없는 글꼴이 있다. 만약 안드로이드가 읽지 못하는 글꼴을 사용하려 한다면 Exception을 띄우기보다는 그냥 'sans' 글꼴을 대체해서 사용한다.

- 글꼴을 제대로 적용한 것 같은데 계속해서 'sans' 글꼴로 나타난다면, 이는 안드로이드와 호환되지 않는 글꼴일 가능성도 있다.

- 투루타입 글꼴은 유니코드 글자 가운데 어느 정도 충분한 양을 표현하려면 파일 크기가 상당히 커진다. 따라서 너무 많은 공간을 차지할 수 있으니 꼭 필요한 글꼴만 추가해 사용하는 것이 좋다.

728x90

'Android' 카테고리의 다른 글

안드로이드 카메라에 이미지  (0) 2012.07.29
안드로이드 얼굴 인식  (0) 2012.07.29
안드로이드 colorpicker  (0) 2012.07.29
안드로이드 페이지 이동  (0) 2012.07.29
안드로이드 화면 가로 고정  (0) 2012.07.29

+ Recent posts