FontFamilyがAndroidXで動作していない理由は非常に奇妙です。
これは私のコードです:
<TextView
Android:id="@+id/textView"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_marginTop="24dp"
Android:text="testing "
Android:textSize="17sp"
Android:fontFamily="@font/iransans"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
_
上記のコードは、TextViewをApp Compactに変換すると、まったくフォントには影響しません。
<androidx.appcompat.widget.AppCompatTextView
_
アプリケーション全体のフォントを設定したいが、予想どおりに動作しません。
<style name="AppTheme" parent="Theme.MaterialComponents.Light.NoActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="Android:fontFamily">@font/iransans</item>
</style>
_
これを解決する方法はありますか?各ビューのフォントファミリを設定せずにアプリ全体でフォントを使用する方法は?
あなたは潜在的に1つの3つのことに遭遇しています:
Android:fontFamily
_を設定していますが、fontFamily
を設定していません。両方を持っていることを確認してください。_<item name="fontFamily">@font/iransans</item>
<item name="Android:fontFamily">@font/iransans</item>
_
古いAPIレベルで実行している場合は、このバグに遭遇し、Androidx.appcompat依存関係へのアップグレードがトリックを実行する可能性があります。
https://developer.android.com/jetpack/androidx/releases/appcompat#1.1.0-alpha02
_styles.xml
_で定義されている他のテーマがある場合は、TextView
の親が別のテーマを使用している場合、そのテーマはビューでfontFamily
属性よりも優先される可能性があります(まだ判断されていませんが、これ私が自分自身に走っているシナリオです。 _Android:theme
_を私のTextView
で直接設定して、フォントファミリを定義したスタイルをトリックしました。
_<TextView
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:theme="@style/MyCustomFontTextAppearance" />
_
style.xmlで:
_<style name="MyCustomFontTextAppearance" parent="TextAppearance.AppCompat.Body1">
<item name="fontFamily">@font/iransans</item>
<item name="Android:fontFamily">@font/iransans</item>
</style>
_