我需要使用android:fontFamily更改textView字体。 问题是它给了我错误,我不知道为什么
我的代码:
<TextView
android:text="Arial font"
android:textSize="8pt"
android:fontFamily="@font/arial"
android:layout_marginTop="4pt"/>
我尝试了一切:在Assets文件夹中添加了Arial.ttf,在Assets中创建了一个字体文件夹,尝试更改属性,尝试在android:fontFamily中使用“arial.ttf”而不是“arial”,但没有任何工作
答案 0 :(得分:1)
在Resources/font
目录
对于 API-26 + ,只有使用android:fontFamily
的支持才可以:
android:fontFamily="@font/tastysushi"
添加Xamarin.Android.Support.Compat
包(v26或更高版本)
如果您在AXML布局中使用Xamarin.Android.Support.v7.AppCompat
,则添加fontFamily
包(v26 +)(否则您可以通过编程方式分配字体系列并使用Activity
子类)
您的活动必须是AppCompatActivity
的子类才能使布局/基于AXML的app:fontFamily
属性正常工作
在Resources/font
目录
|-Resources
| |-font
| | |-tastysushi.ttf
可选但很方便,在Resources/font
目录中创建一个字体系列xml文件(必须定义android
和app
名称空间)
<!-- Resource/font/sushi.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:fontStyle="normal"
android:fontWeight="400"
android:font="@font/tastysushi"
app:fontStyle="normal"
app:fontWeight="400"
app:font="@font/tastysushi"
/>
注意:您也可以在字体系列中添加粗体和斜体font
元素...并为每个字体分配不同的字体文件...
在布局文件的top元素中添加app:
命名空间:
xmlns:app="http://schemas.android.com/apk/res-auto"
现在fontFamily
属性必须使用app:
命名空间
app:fontFamily="@font/sushi"
注意:@font/
可以引用实际的字体文件或基于xml的字体系列文件
注意:您还可以在样式中嵌入字体,这样就不必使用字体系列填充每个AXML元素...