このような投稿 AndroidでTextViewのfontFamilyを変更する方法 は、styles.xmlで指定できるRobotoフォントのバリアントがAndroid 4.2に要約されることを示唆しています:
それは、例えばを使用してTextViewsをスタイルする機能を除外します。 Roboto-MediumまたはRoboto-Blackフォント。
しかし、GoogleがTextViewのスタイリングに使用できないシステム全体のフォントを追加するのはなぜですか?確かに、styles.xml内からすべてのRobotoフォントを指定する方法が必要です(つまり、フォントをAssetsとして埋め込み、コードでカスタムTextViewを作成する必要はありません)-しかし、どのように?
On Android 5.0では、sans-serif-medium
。
Google iosched 2014 から取得したこのソリューションでは、sans-serif
on Android pre-v21:
values/styles.xml
<style name="MyStyle">
<item name="Android:fontFamily">@string/font_fontFamily_medium</item>
</style>
values/fonts.xml
<string name="font_fontFamily_medium">sans-serif</string>
values-v21/fonts.xml
<string name="font_fontFamily_medium">sans-serif-medium</string>
新しいソリューション
後 Google I/O '17res/font folderで複数のフォントファミリーを作成できます
<?xml version="1.0" encoding="utf-8"?>
<font-family xmlns:app="http://schemas.Android.com/apk/res-auto">
<font
app:font="@font/roboto_light"
app:fontStyle="normal"
app:fontWeight="300" />
<font
app:font="@font/roboto_bold"
app:fontStyle="normal"
app:fontWeight="700" />
</font-family>
どこでも使用できます
<style name="AppTheme.DefaultTextView" parent="Android:style/Widget.TextView">
<item name="Android:textColor">@color/colorBlack</item>
<item name="Android:fontFamily">@font/font_family_roboto</item>
</style>
古い回答
ヤコブ・エリクソンに感謝
Android:fontFamily="sans-serif" // roboto regular
Android:fontFamily="sans-serif-light" // roboto light
Android:fontFamily="sans-serif-condensed" // roboto condensed
Android:fontFamily="sans-serif-black" // roboto black
Android:fontFamily="sans-serif-thin" // roboto thin (Android 4.2)
Android:fontFamily="sans-serif-medium" // roboto medium (Android 5.0)
スタイルで:
<style name="AppTheme.DefaultTextView" parent="Android:style/Widget.TextView">
<item name="Android:textSize">@dimen/text_view_text_size</item>
<item name="Android:textColor">@color/black</item>
<item name="Android:fontFamily">sans-serif-light</item>
<item name="Android:textStyle">normal</item>
</style>
アプリのテーマ:
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/gray</item>
<item name="Android:textViewStyle">@style/AppTheme.DefaultTextView</item>
</style>
Android-RobotoTextView または Calligraphy のようなカスタムライブラリを使用することをお勧めします。これらのいずれかを使用すると、属性を使用してxmlのビューのフォントを設定できるため、styles.xmlに入れることができます。また、以前のバージョンのAndroid 4.0よりも
サポートライブラリ26が導入されました XMLのフォントを使用 で、Android API 14。
フォントをリソースとして追加するには、Android Studioで次の手順を実行します。
Resフォルダーを右クリックし、[新規]> [Android resource directory。New Resource Directory]ウィンドウに移動します。
[リソースの種類]リストで、フォントを選択し、[OK]をクリックします。注:リソースディレクトリの名前はフォントである必要があります。
R.font.dancing_script
、R.font.lobster
、およびR.font.typo_graphica
を生成します。TextView
のフォントを設定するには、レイアウトXMLファイルで、アクセスするフォントファイルにfontFamily属性を設定します。
<TextView
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:fontFamily="@font/lobster"/>
Android Studioレイアウトプレビューを使用すると、TextViewでフォントセットをプレビューできます。
フォントをスタイルに追加するには、styles.xmlを開き、アクセスするフォントファイルにfontFamily属性を設定します。
<style name="customfontstyle" parent="@Android:style/TextAppearance.Small">
<item name="Android:fontFamily">@font/lobster</item>
アプリにフォントをバンドルしたくない場合は、 ダウンロード可能なフォント