17

このトピックに関するいくつかの投稿を見つけましたが、このトピックはすべてsetTypeFace()、オブジェクトのメソッドでフォントを設定するか、フォントをおよびTextViewに設定するカスタム クラスを作成します。API-Level 11(?) か何かから知る限り、何らかの方法で TypeFace を xml 属性として設定できます。このような:Robotoextends TextView

   <TextView
      android:id="@+id/profileHeader"
      android:layout_width="100dp"
      android:layout_height="100dp"
      android:typeface="roboto"
      android:text="Hello, world">
   </TextView>

これを行う正しい方法は何ですか?アプリケーションが API レベル 11(?) よりも低いデバイスで実行されている場合、次のようにフォールバックすることは可能ですか?

 android:typeface="roboto|monospace|serif"
4

6 に答える 6

6

RobotoTextViewプロジェクトを見てください。Android 1.5 まで動作し、XML 属性を使用して書体を設定できます。RobotoButton、RobotoCheckbox などの他のビューも含まれます。

于 2013-09-27T18:35:41.190 に答える
1

このandroid:typeface属性には、いくつかの有効なオプションしかありません (Android ドキュメントによると)...

  • 正常
  • サンズ
  • セリフ
  • モノスペース

古いデバイス用のアプリで Roboto フォントが必要な場合は、プロジェクトに Roboto TTF ファイルを含める必要があります。

これらのフォントを使用する最も明白なsetTypeface()方法は、TextView のメソッドを使用することですが、代わりに XML で指定する場合は、カスタム TextView を作成し、カスタム TextView に対して独自のスタイル設定可能な属性を作成する必要があります。

このトピックはインターネット全体にあります

于 2013-08-28T13:05:37.817 に答える
1

外部書体を xml 属性として定義する方法がわかりません。書体をアセットに保存し、次を呼び出す必要があります。

tv.setTypeface( Typeface.createFromAsset( context.getAssets(), roboto.ttf ) );
于 2013-05-13T10:43:42.667 に答える