使用 Android 5 或更高版本的个性化字体 - XML
Posted
技术标签:
【中文标题】使用 Android 5 或更高版本的个性化字体 - XML【英文标题】:Personalized font using Android 5 or higher - XML 【发布时间】:2021-07-10 17:59:13 【问题描述】:我正在关注这个tutorial 来更改Xamarin.android 中应用程序的字体,它只是将.ttf
文件添加到项目中,然后在您想要在其中使用它的地方引用TextView / EditText
XML
,像这样:
android:fontFamily="@font/sourcerfont"
我遇到的问题是它只适用于虚拟设备,而不适用于物理设备。
我重新阅读了文档(教程),发现这部分引起了我的注意,我的印象是错误可能存在,因为我的物理设备有API 23 - Android 6.0.1
;而虚拟的有Android 9.0
:
Android 4.1 之前的设备也支持此功能,方法是使用 支持库 26 或更多。
你能告诉我我做错了什么吗?
我认为您不能只在版本早于 8 的 Android 应用上使用自定义字体。
在所有设备上对我都有效的唯一方法是这样,但对于大型应用程序来说非常乏味:
TextView Lbl = FindViewById <TextView> (Resource.Id.Lbl34);
tf = Typeface.CreateFromAsset (Android.App.Application.Context.Assets, "quicks.ttf");
Lbl.SetTypeface (tf, TypefaceStyle.Normal);
【问题讨论】:
【参考方案1】:我重新阅读了文档(教程),发现这部分引起了我的注意,我的印象是错误可能存在,因为我的物理设备具有 API 23 - Android 6.0.1;而虚拟的有Android 9.0
我下载Karantina字体系列,然后在Resources文件夹下创建一个名为font的文件夹。把字体文件放到里面,build action设置为AndroidResource,看如下截图:
我使用这个自定义字体:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_
android:layout_ android:orientation="vertical">
<TextView
android:text="My text content"
android:layout_
android:layout_
android:fontFamily="@font/karantinaregular" />
<TextView
android:layout_
android:layout_
android:text="karantina Bold"
android:fontFamily="@font/karantinabold"/>
<TextView
android:layout_
android:layout_
android:text="karantina Light"
android:fontFamily="@font/karantinalight"/>
我在 Android 虚拟 8.1(API27)、Android 物理设备 8.1(API27) 和 Android 物理设备 6.0(API23) 上测试我的代码,一切正常,没有问题。
【讨论】:
谢谢。我做了所有这些,但仍然没有在我的 Android 6 设备上显示。刚刚重新检查了rn。您在该特殊设备中复制的任何特殊细节?确定是 Android 6 设备? @Kenny.Ali Android 6 设备没有特殊设置,您可以尝试在其他物理设备上构建吗?以上是关于使用 Android 5 或更高版本的个性化字体 - XML的主要内容,如果未能解决你的问题,请参考以下文章
在 Android 模拟器中推送通知(5.1.1 或更高版本)
此版本的 Android Studio 无法打开此项目,请使用 Android Studio 4.0 或更高版本重试
字体平滑技术?文本阴影在 Chrome 14.0.833.0 或更高版本中呈现不同
在 Android 4.0 或更高版本中禁用主页按钮 [重复]
Maven编译项目时报错:不再支持源选项 5。请使用 6 或更高版本。 不再支持目标选项 1.5。请使用 1.6 或更高版本。