如何在Android中以编程方式设置谷歌字体
应用程序崩溃原因:android。所容纳之物res.Resources$NotFoundException:无法检索字体资源ID#0x7f090002。
val typeface = ResourcesCompat.getFont(applicationContext, R.font.halant)
appVersionName.typeface = typeface
<?xml version="1.0" encoding="utf-8"?>
<font-family xmlns:app="http://schemas.android.com/apk/res-auto"
app:fontProviderAuthority="com.google.android.gms.fonts"
app:fontProviderPackage="com.google.android.gms"
app:fontProviderQuery="Halant"
app:fontProviderCerts="@array/com_google_android_gms_fonts_certs">
</font-family>
val typeface = Typeface.create("sans-serif-condensed", Typeface.BOLD)
textView.typeface = typeface
虽然以上两个答案是正确的,但我会给你关于“可下载字体”的逐步详细信息,以便其他人理解。
注意:设备必须具有Google Play services 11或更高版本才能使用Google字体提供程序。
Android Studio自动生成在应用程序中正确呈现字体所需的相关XML文件。
现在,您可以在TextView中直接添加它,如下所示:
android:fontFamily="@font/halant_light"
或以编程方式使用可下载字体,如下所示:
val request = FontRequest(
"com.google.android.gms.fonts",
"com.google.android.gms",
"Halant", //your font
R.array.com_google_android_gms_fonts_certs
)
val callback = object : FontsContract.FontRequestCallback() {
override fun onTypefaceRetrieved(typeface: Typeface) {
// Your code to set the font goes here
}
override fun onTypefaceRequestFailed(reason: Int) {
// Your code to deal with the failure goes here
}
}
FontsContractCompat.requestFont(mContext, request, callback, mHandler)
如果您不想要上述编程方式,您可以使用我测试并完美运行的以下代码:
val typeface = ResourcesCompat.getFont(applicationContext, R.font.halant_light)
fontText.typeface = typeface
我在Android中以编程方式设置APN。当我运行代码时,我得到。如果我在清单中提到这个权限,我得到的错误就像这些权限只有SYSTEM APPS。你能帮我解决这个问题吗?参考链接
问题内容: 如何以编程方式设置媒体播放器的音量。我将其用于警报通知。非常感谢您的任何帮助,并在此先感谢。 问题答案: 使用 AudioManager ,您可以简单地控制媒体播放器的音量。 也来自MediaPlayer(但我没有尝试过) 由于:API级别1 设置此播放器的音量。建议使用此API来平衡应用程序中音频流的输出。除非您正在编写用于控制用户设置的应用程序,否则应优先使用此API来代替setS
在这个,这个和这个线程,我试图找到一个答案,如何设置一个单一视图的边距。不过,我在想是不是没有更简单的方法。我将解释为什么我不想使用这种方法: 我有一个扩展按钮的自定义按钮。如果背景设置为默认背景以外的其他内容(通过调用或),我希望边距为0。如果我把这个叫做: 我想让边距重置为-3dp(我已经在这里阅读了如何从像素转换为dp,所以一旦我知道如何设置px中的边距,我可以自己管理转换)。但是,由于这是
我正在使用AutoLayout开发iPad应用程序,如果用户启用某个模式(“平视”模式),我希望只支持纵向(或纵向倒置)方向,而且,如果设备处于横向,我希望自动切换到纵向模式。 在顶视图控制器中,我有以下内容: 根据我在这里其他地方看到的答案,答案似乎是我应该使用“application SetStatusBaroOrientation”。因此,在用户选择“抬头”模式的方法中,我包括: 然而,这似
问题内容: 我的问题很简单 如何以编程方式设置我的按钮layout_gravity? 我在互联网上找到了它,但它只是抛出了一个Nullpointer异常: 有什么办法吗? 问题答案: Java Kotlin 有关重力值以及如何设置重力,请检查“重力”。 基本上,您应该选择依赖于父项。可以是等等。
问题内容: 我正在动态创建按钮。我首先使用XML设置了样式,然后尝试使用下面的XML使其具有程序性。 这是我到目前为止所拥有的。除了可绘制对象,我可以做所有事情。 问题答案: 你可以使用该方法执行此操作。请参阅此处的示例。我在不使用的情况下使用了它,并且效果很好。你可以尝试任何一种方式。 更新:如果链接断开,请在此处复制代码 要么 要么