내 응용 프로그램은 Support Library 27.0.2
을 통해 Android 다운로드 글꼴을 사용하여 API Guide on Android Developers에 따라 XML에 사용자 지정 글꼴을 설정합니다. 각 폰트 패밀리가 처음으로 그려지는 경우를 제외하고 폰트는 정상적으로 적용됩니다.다운로드 가능한 글꼴이 정확하게 캐싱되지 않음
: 나는 ActivityA
을 열 경우, 그 Toolbar
내 사용자 정의 글꼴을 사용합니다 Tab1
기본 Roboto로와 제목,하지만 Tab2
및 Tab3
표시됩니다. 응용 프로그램을 닫지 않고 두 번째로 ActivityA
을 열면 문제가 발생하지 않고 모든 탭에서 사용자 지정 글꼴을 사용합니다. 탭 제목 외에도 툴바에서 문제가 발견되었습니다. 첫 번째 여는 후 글꼴이 올바르게 적용됩니다.
res/values/font_certs.xml
및 res/font/font.xml
파일은 안드로이드 스튜디오에 의해 생성 그냥 문서에서 제공하는 것과 같다되었다 :
<application ...>
<meta-data
android:name="preloaded_fonts"
android:resource="@array/preloaded_fonts" />
</application>
그리고 res/values/arrays.xml
:
<resources>
<array name="preloaded_fonts">
<item>@font/lato</item>
<item>@font/lato_bold</item>
<item>@font/lato_light</item>
<item>@font/raleway</item>
<item>@font/raleway_semibold</item>
</array>
</resources>
다음
<font-family xmlns:app="http://schemas.android.com/apk/res-auto"
app:fontProviderAuthority="com.google.android.gms.fonts"
app:fontProviderCerts="@array/com_google_android_gms_fonts_certs"
app:fontProviderPackage="com.google.android.gms"
app:fontProviderQuery="Lato" />
매니페스트의
글꼴이 적용됩니다. AppBarLayout
에서 다음 테마를 사용 :
<style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" >
<item name="android:fontFamily">@font/raleway</item>
<item name="android:gravity">center_horizontal</item>
</style>
프로젝트는 다음과 같은 버전을 사용 문제는 API 21과 27는 것 같다 진정한 넥서스 6P 실행 API상의 AVD 사용하여 재현
minSdkVersion = 19
targetSdkVersion = 26
compileSdkVersion = 26
buildToolsVersion = '27.0.0'
playServicesVersion = '11.6.0'
글꼴 캐시에 문제가 있습니다. 문제를 해결하거나 더 잘 조사하려면 어떻게해야합니까?
아마도 도움이 될 것입니다. https://medium.com/@romainguy/androids-font-renderer-c368bbde87d9 – Danieboy