从 android 支持库 26 开始,可以使用 fonts在样式和小部件中。然后你必须使用 AppCompatActivity
并使用从 Theme.AppCompat
扩展的样式.
我想在 Android TV 中使用自定义字体(使用支持库),但是我无法使用 Theme.Leanback
风格。
有没有办法使用 Theme.Leanback
样式与字体支持?
最佳答案
我最终使用了 Calligraphy
构建.gradle:implementation 'uk.co.chrisjenx:calligraphy:2.3.0'
在 assets/font/fancyfont.otf
中应用字体的示例它到一个`GuidedStepFragment 事件:
登录事件.kt:
class LoginActivity : Activity() {
override fun attachBaseContext(newBase: Context?) {
super.attachBaseContext(CalligraphyContextWrapper.wrap(newBase))
}
}
样式.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"/>
关于android-support-library - 在 Leanback 中使用支持库中的字体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46587200/