端末組み込みのフォントに満足できない場合、TrueTypeフォントファイルからTypefaceを作成してTextViewなんかに設定することができます。
やり方はこんな感じです。
※今回の例はassetsフォルダにFONTファイルを置いて読み込む例です
1 | public void onCreate(Bundle savedInstanceState) { |
2 | super .onCreate(savedInstanceState); |
3 | setContentView(R.layout.activity01); |
6 | Typeface typeface = Typeface.createFromAsset(getAssets(), "fonts/Diamond.ttf" ); |
9 | TextView txt = (TextView)findViewById(R.id.TextView01); |
10 | if (typeface != null && txt != null ) |
11 | txt.setTypeface(typeface); |
ちなみにassetsにおける未圧縮のファイルには上限UNCOMPRESS_DATA_MAX(1Mbyteか2Mbyte)が設定されており、UNCOMPRESS_DATA_MAXを超える未圧縮ファイルは取り扱いできませんので、注意が必要です。
もし上限を超える場合は、面倒ですが、初回起動時にネットワーク越しにダウンロードするか、zipで圧縮してassetに保存し、zipファイル解凍・保存して、そのファイルからcreateFromFile(String path)して利用すればよいです。
#ZIPの取り扱いはこちら⇒"assetsに大きなファイルを配置する方法 – Android"
脱線しますがUNCOMPRESS_DATA_MAXはAsset.hに以下の形で定義されています
2 | UNCOMPRESS_DATA_MAX = 1 * 1024 * 1024 |
4 | UNCOMPRESS_DATA_MAX = 2 * 1024 * 1024 |
0 件のコメント:
コメントを投稿