大家好, 我在我的应用程序的xml中使用了Fonts。它在7.0以下的Android版本上运行良好。但不适用于7.0。我在drawable中创建了一个字体文件夹,并将所有字体放在那里。然后创建了这样的字体系列。
<?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">
<font
android:font="@font/timeburnerbold"
android:fontStyle="normal"
android:fontWeight="400"
app:font="@font/timeburnerbold"
app:fontStyle="normal"
app:fontWeight="400" />
<font
android:font="@font/typo_grotesk_bold"
android:fontStyle="normal"
android:fontWeight="700"
app:font="@font/typo_grotesk_bold"
app:fontStyle="normal"
app:fontWeight="700" />
</font-family>
我的Gradle文件信息
compileSdkVersion 27
buildToolsVersion "26.7.2"
supportLibraryVersion = '27.0.0'
我在整个应用程序中使用它。它在6.0及以下的应用程序中完美运行。但不是7.0。不知道我在这里失踪了什么。任何人吗?
答案 0 :(得分:1)
这很奇怪,但我找到了解决方案。看起来像SDK中的错误。在一个字体 - 家庭,如果您有两个不同系列的字体,如下面的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">
<font
android:font="@font/timeburnerbold"
android:fontStyle="normal"
android:fontWeight="400"
app:font="@font/timeburnerbold"
app:fontStyle="normal"
app:fontWeight="400" />
<font
android:font="@font/typo_grotesk_bold"
android:fontStyle="normal"
android:fontWeight="700"
app:font="@font/typo_grotesk_bold"
app:fontStyle="normal"
app:fontWeight="700" />
</font-family>
此类型的文件在7.0以后不起作用。 将其更改为
<?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">
<font
android:font="@font/typo_grotesk_regular"
android:fontStyle="normal"
android:fontWeight="400"
app:font="@font/typo_grotesk_regular"
app:fontStyle="normal"
app:fontWeight="400" />
<font
android:font="@font/typo_grotesk_regular"
android:fontStyle="italic"
android:fontWeight="400"
app:font="@font/typo_grotesk_regular"
app:fontStyle="italic"
app:fontWeight="400" />
<font
android:font="@font/typo_grotesk_bold"
android:fontStyle="normal"
android:fontWeight="700"
app:font="@font/typo_grotesk_bold"
app:fontStyle="normal"
app:fontWeight="700" />
<font
android:font="@font/typo_grotesk_bold"
android:fontStyle="italic"
android:fontWeight="700"
app:font="@font/typo_grotesk_bold"
app:fontStyle="italic"
app:fontWeight="700" />
</font-family>
真的适用于所有api。一个字体系列文件中的相同字体系列。不知道为什么会发生这种情况。