作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在我之前的项目中,我使用了Calligraphy为整个应用程序设置字体的库。但它需要将字体文件存储在 Assets 中,这使得 APK 大小更大。现在我想知道是否可以设置 downloadable font作为整个应用程序的默认设置。
我可以为一个 TextView 设置一个可下载的字体。
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="@dimen/text_margin"
android:fontFamily="@font/lato"
android:text="@string/large_text" />
是的,我知道我可以创建 MyTextView类并以编程方式设置可下载字体。但我认为这不是一个好主意,因为文本可以位于 EditText、Spinner 项目、Toast 中的任何位置。
所以我的问题是如何将整个应用程序的可下载字体设置为默认字体?
最佳答案
要在您的应用程序的任何位置应用 XML 字体集,请在您的 themes.xml
中创建一个主题并在其中设置 android:fontFamily
。
<style name="ApplicationTheme">
<item name="android:fontFamily">@font/lato</item>
</style>
在 list 中将此主题设置为您的应用程序
<application
android:name=".App"
android:icon="@mipmap/ic_launcher"
android:theme="@style/ApplicationTheme">
...
</application>
并且只要您不使用继承自系统样式的样式,例如
<style name="CustomButton" parent="Base.Widget.AppCompat.Button.Borderless">
您的字体将应用于所有 TextView、EditText、Spinners、Toast 等。
关于android - 如何将整个应用程序的可下载字体设置为默认字体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47699931/
我是一名优秀的程序员,十分优秀!