- Home ›
- Android入門 ›
- Typefaceクラス ›
- HERE
フォントファミリーを設定
広告
フォントファミリーの設定方法です。定義されているフォントファミリーとして次のものがあります。
Typeface Typeface.SERIF Typeface Typeface.SANS_SERIF Typeface Typeface.MONOSPACE
定義されているものは論理フォントです。それぞれがどの物理フォントに割り当てられているのかは不明です。明朝系の場合には「Typeface.SERIF」、ゴシック系の場合には「Typeface.SANS_SERIF」、固定幅の場合には「Typeface.MONOSPACE」を使います。どの定数も値としてはTypefaceクラスのオブジェクトが設定されています。
具体的には次のように記述します。
import android.app.Activity; import android.os.Bundle; import android.widget.TextView; import android.graphics.Typeface; public class Test extends Activity { @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); TextView tv = new TextView(this); tv.setText("Text"); tv.setTypeface(Typeface.SERIF); setContentView(tv); } }
サンプルプログラム
それでは実際に試してみます。プロジェクトを作成しソースコードを次のように変更しました。
package jp.javadrive.android; import android.app.Activity; import android.os.Bundle; import android.widget.TextView; import android.widget.LinearLayout; import android.view.ViewGroup; import android.graphics.Typeface; public class Test03_01 extends Activity { private final int WRAP_CONTENT = ViewGroup.LayoutParams.WRAP_CONTENT; /** Called with the activity is first created. */ @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); LinearLayout linearLayout = new LinearLayout(this); linearLayout.setOrientation(LinearLayout.VERTICAL); setContentView(linearLayout); TextView tv1 = new TextView(this); tv1.setTextSize(32.0f); tv1.setText("abcdefg"); linearLayout.addView(tv1, new LinearLayout.LayoutParams(WRAP_CONTENT, WRAP_CONTENT)); TextView tv2 = new TextView(this); tv2.setTextSize(32.0f); tv2.setText("abcdefg"); tv2.setTypeface(Typeface.SERIF); linearLayout.addView(tv2, new LinearLayout.LayoutParams(WRAP_CONTENT, WRAP_CONTENT)); TextView tv3 = new TextView(this); tv3.setTextSize(32.0f); tv3.setText("abcdefg"); tv3.setTypeface(Typeface.SANS_SERIF); linearLayout.addView(tv3, new LinearLayout.LayoutParams(WRAP_CONTENT, WRAP_CONTENT)); TextView tv4 = new TextView(this); tv4.setTextSize(32.0f); tv4.setText("abcdefg"); tv4.setTypeface(Typeface.MONOSPACE); linearLayout.addView(tv4, new LinearLayout.LayoutParams(WRAP_CONTENT, WRAP_CONTENT)); } }
ビルド後にエミュレーター上で実行します。
今回の結果からフォントファミリーを指定していない場合には「Typeface.SANS_SERIF」が使用されていると考えられます。
( Written by Tatsuo Ikura )