Arialフォントでテキストを表示したい。ただし、ArialフォントはAndroidシステムフォントでは使用できません。アプリケーションでarialttfファイルを使用したくありません。Arialフォントでテキストを適用する他の方法はありますか。
フォントがAndroidシステムで使用できない場合は、フォントファイルを使用して、その特定のフォントをtextView
に適用する必要があります。同じ機能を提供するため、フォントファイルを使用して適用することをいとわない。
フォントファイルを使用するためのサンプルの使用法は次のとおりです。
Typeface tfArial = Typeface.createFromAsset(getAssets(), "arial.ttf");
TextView tv = null;
// find the textview id from layout or create dynamically
tv.setTypeface(tfArial);
編集:
フォントファイルを置く必要がありますarial.ttf
asset
フォルダにあります。
Arialフォントをダウンロードし、アセットに「fonts」を使用してフォルダー名を作成し、そこにフォントを保存します
Typeface tf = Typeface.createFromAsset(getAssets(),"fonts/arial.ttf");
TextView tv = (TextView) findViewById(R.id.CustomFontText);
tv.setTypeface(tf);
Androidアプリケーションにカスタムフォントを含めるには、書道を使用することを検討してください。
フォントを適用するために、各TextViewにコードを追加する必要はありません。アプリケーションの起動時に初期化するだけで、準備は完了です。
JavaこのようなコードまたはXMLからTextViewを作成します
<?xml version="1.0" encoding="utf-8"?>
<TextView
xmlns:Android="http://schemas.Android.com/apk/res/Android"
xmlns:app="http://schemas.Android.com/apk/res-auto"
Android:id="@Android:id/text1"
Android:layout_width="match_parent"
Android:textSize="15sp"
Android:textColor="@color/tabs_default_color"
Android:gravity="center"
Android:layout_height="match_parent"
/>
カスタムテキストビューを使用する場合、TabLayoutがこのIDをチェックするため、IDはここにあるままにしてください。
次に、コードからこのレイアウトを膨らませ、そのテキストビューにカスタムTypeface
を設定し、このカスタムビューをタブに追加します
for (int i = 0; i < tabLayout.getTabCount(); i++) {
//noinspection ConstantConditions
TextView tv=(TextView)LayoutInflater.from(this).inflate(R.layout.custom_tab,null)
tv.setTypeface(Typeface);
tabLayout.getTabAt(i).setCustomView(tv);
}