从Android支持库26开始,可以在样式和小部件中使用fonts。然后,您必须使用AppCompatActivity
并使用从Theme.AppCompat
扩展的样式。
我想在Android TV中使用自定义字体(使用支持库),但我不能使用Theme.Leanback
样式。
有没有办法在字体支持下使用Theme.Leanback
样式?
答案 0 :(得分:0)
我最终使用Calligraphy
的build.gradle:
implementation 'uk.co.chrisjenx:calligraphy:2.3.0'
将assets/font/fancyfont.otf
中的字体应用于`GuidedStepFragment活动:
LoginActivity.kt:
class LoginActivity : Activity() {
override fun attachBaseContext(newBase: Context?) {
super.attachBaseContext(CalligraphyContextWrapper.wrap(newBase))
}
}
styles.xml:
<style name="LoginActivityTheme" parent="@style/Theme.Leanback.GuidedStep">
<item name="guidanceTitleStyle">@style/Login.TitleStyle</item>
</style>
<style name="Login.TitleStyle" parent="Widget.Leanback.GuidanceTitleStyle">
<item name="fontPath">font/fancy_font.otf</item>
</style>
的AndroidManifest.xml:
<activity android:name=".LoginActivity"
android:theme="@style/LoginActivityTheme"/>