gpt4 book ai didi

android - 如何在 Android 应用程序中为所有页面使用字体

转载 作者:行者123 更新时间:2023-11-28 15:14:52 25 4
gpt4 key购买 nike

我在我的元素中为assets/font和main/font应用了vision.otf,并设置了styles.xml如下

<resources>

<!-- Base application theme. -->
<style name="AppTheme" parent="android:Theme.Material.Light">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="android:fontFamily">@font/vision</item>
<item name="fontFamily">@font/vision</item>
</style>


<style name="MyTextField" parent="@android:style/TextAppearance">
<item name="android:ems">10</item>
<item name="android:inputType">textPersonName</item>
<item name="android:background">@null</item>
<item name="android:textColor">@color/lightGrey</item>
<item name="android:textColorHint">@color/lightGrey</item>
<item name="android:backgroundTint">@color/lightGrey</item>
<item name="android:layout_alignParentTop">true</item>
<item name="android:layout_centerHorizontal">true</item>
<item name="android:ellipsize">start</item>
<item name="android:maxLines">1</item>
<item name="android:gravity">center</item>

</style>



</resources>

但是字体样式在执行的时候是完全不能变的。你能告诉我如何在不使用对象类的情况下覆盖字体系列吗?

最佳答案

您可以扩展您的应用程序类并在那里设置默认字体。

有一个名为 Calligraphy 的很棒的库这将减少您在应用程序扩展类中的大量工作,我已经使用了很长时间。

你可以这样做:第 1 步:包含依赖项

dependencies {
compile 'uk.co.chrisjenx:calligraphy:2.3.0'
}

第二步:安装

@Override
public void onCreate() {
super.onCreate();
CalligraphyConfig.initDefault(new CalligraphyConfig.Builder()
.setDefaultFontPath("fonts/Roboto-RobotoRegular.ttf")
.setFontAttrId(R.attr.fontPath)
.build()
);
//....
}

这会将您选择的字体设置为整个应用程序。就这么简单!

假设您需要更改特定 View 的字体,您可以这样做:

<TextView
android:text="@string/hello_world"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
fontPath="fonts/Roboto-Bold.ttf"/>

请浏览一次库以检查所有细节,例如如何组织字体资源等,这真的很方便

希望对您有所帮助。

关于android - 如何在 Android 应用程序中为所有页面使用字体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47465661/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com