为啥我的字体在 Android Studio Preview 中显示,但在设备或模拟器上不起作用?

Posted

技术标签:

【中文标题】为啥我的字体在 Android Studio Preview 中显示,但在设备或模拟器上不起作用?【英文标题】:Why are my fonts shown in Android Studio Preview, but dont work on the device or emulator?为什么我的字体在 Android Studio Preview 中显示,但在设备或模拟器上不起作用? 【发布时间】:2019-08-02 20:10:17 【问题描述】:

该应用与 mindSdkVersion 23 配合使用,并针对 SdkVersion 27。

我使用的设备是搭载 android 7.0 (API 24) 的三星 Galaxy S6 Edge。

我的所有字体在 Android Studio 预览版中都显示正确,但我不知道我做错了什么,字体无法在我的设备上运行。 我尝试了很多想法。至少我读到它会附带一个额外的 android 库。但这并没有解决我的问题。

有人有想法吗?它对我来说真的很重要。我很沮丧。

感谢您的帮助!

我在可绘制文件夹内的“字体”文件夹中创建了自己的字体系列:

铜版.xml:

<?xml version="1.0" encoding="utf-8"?>
<font-family xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">

    <!--Copperplate Medium-->
    <font
        android:font="@font/copperplate_medium"
        android:fontStyle="normal"
        android:fontWeight="400"

        app:font="@font/copperplate_medium"
        app:fontStyle="normal"
        app:fontWeight="400" />

</font-family>

我在这种情况下使用的“copperplate_medium”也放在字体文件夹中。它的“copperplate_medium.otf”

layout.xml:

  <TextView
       android:id="@+id/title"
       android:layout_
       android:layout_
       android:layout_centerHorizontal="true"
       android:layout_marginTop="180dp"
       android:text="@string/title"
       android:fontFamily="@font/copperplate_medium"
       app:fontFamily="@font/copperplate_medium" 
       android:textColor="@color/white"
       android:textSize="30sp />

【问题讨论】:

见***.com/a/42976600/6478047 还向我们展示您是如何更改字体的 【参考方案1】:

看起来您已创建 copperplate.xml 并更改了字体属性,但在布局中仍引用原始文件 android:fontFamily="@font/copperplate_medium"。确保仔细检查您引用的文件是否正确

src/main/res/font/copperplate.xml
src/main/res/font/copperplate_medium.otf

<TextView
       ...
       android:fontFamily="@font/copperplate"
       />

【讨论】:

以上是关于为啥我的字体在 Android Studio Preview 中显示,但在设备或模拟器上不起作用?的主要内容,如果未能解决你的问题,请参考以下文章

android中的Spinner里的字体大小为啥改不掉?

为啥我的Android studio里面没有Preview。在View-Tool Windows

自定义字体按钮不起作用Android-Studio

为啥我的 FileProvider 在 android studio 中不起作用

为啥我的模拟器没有在 Android Studio 上运行?

为啥模拟器在 Android Studio 中很慢?