在Leanback中使用支持库中的字体

6
从android支持库26开始,可以在样式和小部件中使用字体。然后您必须使用AppCompatActivity并使用从Theme.AppCompat扩展的样式。
我想在Android电视上(使用支持库)使用自定义字体,但是我不能使用Theme.Leanback样式。
是否有一种使用字体支持的Theme.Leanback样式的方法?

可能是重复的 https://dev59.com/0nE85IYBdhLWcg3wkkbK - ReyAnthonyRenacia
不,这不是那个问题的副本。我知道如何使用字体(以及许多替代方案,如自定义小部件、书法、数据绑定、程序化等)。我的问题不是关于一般使用字体,而是关于支持库和leanback主题的特定问题。 - OKA
1个回答

0

最终我选择了书法

build.gradle:

implementation 'uk.co.chrisjenx:calligraphy:2.3.0'

应用字体的示例,将位于assets/font/fancyfont.otf的字体应用到`GuidedStepFragment activity:

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"/>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接