3

Android アプリのすべての TextViews に、Android のデフォルト フォント (ICS の Roboto と古いフォントの何か) を強制したいと考えています。

ユーザーがシステム設定から変更しても変更されるべきではありません。

それは可能ですか?

アプリのテーマで書体をノーマルにしてみました。しかし、それはうまくいきませんでした。しかし、モノスペースを試してみるとうまくいきました。

パッケージにフォント ファイルを含めたくありません。GMail アプリが ICS でそれを行っているのを見たことがあります。彼らはどのようにやっていますか?

4

3 に答える 3

2

@StefanoOrtisiによって提供された解決策は絶対に間違っています。アプリケーションにカスタムフォントを含めることができる唯一の方法は、アセットディレクトリに配置し、そこからアクセスすることです。

Typeface tf = Typeface.createFromAsset(this.getAssets(), "fonts/CUSTOMFONT.tff");
TextView tv = (TextView) findViewById(R.id.TEXTVIEW_ID);
tv.setTypeface(tf); 

以下は私の主張を正当化するためのリンクです:

Androidでカスタム書体を使用する

この問題に関連する同様の投稿がありました。上記の投稿で与えられた解決策を試す前に、このリンクを確認してください:

カスタム書体エラー

于 2012-06-27T15:46:29.827 に答える
2

Yoy は TextView オブジェクトを拡張し、コンストラクターをオーバーライドしてフォント タイプを強制することができます。

    Typeface type = Typeface.createFromAsset(getAssets(),"fonts/Kokila.ttf"); 
    this.setTypeface(type);
于 2012-06-27T15:33:09.387 に答える
1

アプリケーションでテーマを使用するだけです。AndroidManifest.xml から設定できます

<application
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name" android:theme="@style/YourCustomTheme">

次に、style.xml ファイルでカスタム テーマを作成する必要があります。

<style name="YourCustomTheme" >
     <item name="android:typeface">yourcustomfont</item>
</style>
于 2012-06-27T15:33:35.060 に答える