【发布时间】:2019-01-29 03:09:55
【问题描述】:
我正在应用主题中为我的应用定义默认字体系列,如下所示:
<style name="AppTheme" parent="Theme.AppCompat.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="fontFamily">@font/trade_gothic_ltstd</item>
</style>
但是,对于某些小部件,我想要不同的字体系列。很正常,对吧?好吧,设置android:fontFamily 没有效果。它总是仍然使用默认的贸易哥特字体。如果我从 AppTheme 中删除 fontFamily,那么我所有的 fontFamily 分配都会神奇地开始工作。
要真正改变默认字体,我必须创建下面的样式,并将其作为style=@style/KnockoutFont 应用到任何TextView、EditText 等。
<style name="KnockoutFont" parent="AppTheme">
<item name="fontFamily">@font/knockout_htf49_liteweight</item>
</style>
这是预期的吗?
【问题讨论】:
-
您发布了您的问题和答案。想问什么?如果这是否是正确的方法,那么是的。你是对的。
-
@JacobCelestine 是的,基本上想知道这是否是唯一的方法。我不能总是为事物设置自定义样式,所以这不是一个万无一失的方法。这也是我没有发疯的理智检查,因为我不明白为什么设置默认字体会导致 fontFamily 被忽略。
标签: android android-layout android-widget