web-dev-qa-db-ja.com

AndroidのテキストのArialフォント

Arialフォントでテキストを表示したい。ただし、ArialフォントはAndroidシステムフォントでは使用できません。アプリケーションでarialttfファイルを使用したくありません。Arialフォントでテキストを適用する他の方法はありますか。

11
jkstar

フォントが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.ttfassetフォルダにあります。

9
java dev

Arialフォントをダウンロードし、アセットに「fonts」を使用してフォルダー名を作成し、そこにフォントを保存します

Typeface tf = Typeface.createFromAsset(getAssets(),"fonts/arial.ttf");
TextView tv = (TextView) findViewById(R.id.CustomFontText);
tv.setTypeface(tf);
4
stackoverflow

Androidアプリケーションにカスタムフォントを含めるには、書道を使用することを検討してください。

フォントを適用するために、各TextViewにコードを追加する必要はありません。アプリケーションの起動時に初期化するだけで、準備は完了です。

0
punisher_malade

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);

}
0
ahmad