在使用Android支持库的Android上使用新的自定义字体时,我在Android 4.1(API 16)上遇到显示问题,而在8.0(API 26)上正常工作:
以下是activity_main.xml
内容,使用自定义字体AvenirNext Medium(存储在res/font/avenirnext_medium.ttf
中):
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/avenirnext_medium"
android:text="Hello world?"/> <!-- this is an unbreakable space -->
</LinearLayout>
我支持SDK 26,同时支持SDK 16。
如何摆脱API 16中的替换字符' '?
答案 0 :(得分:0)
感谢@HermantParmar评论,看起来像uncrable space这样的特殊字符必须通过unicode值(\u00A0
)出现。所以我修改了text
属性,它现在正常工作:
android:text="Hello\u00A0world?"/>