Xamarin Android字体未生效:Quicksand字体无法被加载识别
在Xamarin Android中配置并使用Quicksand字体
嘿,我来帮你搞定在Xamarin Android里用Quicksand字体的事儿!看起来你已经做了前期准备,接下来咱们把剩下的步骤补全,确保字体能正常生效:
第一步:确认字体文件的基础配置
你已经把四个Quicksand字体文件放到Resources\font文件夹,并且设置生成操作为AndroidResource,这一步完全正确!记得再检查一遍每个.ttf文件的生成操作,别漏改了。第二步:完善font-family配置文件
你的quicksand.xml需要补全完整的字体族定义,替换成下面的内容就行:<?xml version="1.0" encoding="utf-8"?> <font-family xmlns:android="http://schemas.android.com/apk/res/android"> <font android:fontStyle="normal" android:fontWeight="400" android:font="@font/quicksand_regular" /> <font android:fontStyle="normal" android:fontWeight="300" android:font="@font/quicksand_light" /> <font android:fontStyle="normal" android:fontWeight="500" android:font="@font/quicksand_medium" /> <font android:fontStyle="normal" android:fontWeight="700" android:font="@font/quicksand_bold" /> </font-family>这里要注意:
android:font属性里的文件名不要加.ttf后缀,而且fontWeight要和字体的实际权重对应——Light是300,Regular是400,Medium是500,Bold是700。第三步:在布局文件中使用字体
现在可以直接在TextView(或其他文本控件)里引用这个字体族了:<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Hello Quicksand!" android:fontFamily="@font/quicksand" android:textSize="24sp" />如果要指定特定字重,比如Bold,两种方式都可以:
<!-- 通过textStyle指定字重 --> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Bold Quicksand" android:fontFamily="@font/quicksand" android:textStyle="bold" /> <!-- 直接引用单个字体文件 --> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Light Quicksand" android:fontFamily="@font/quicksand_light" />第四步:在C#代码中动态设置字体
如果需要在代码里给控件动态设置字体,这么写就行:// 获取整个字体族 var typeface = Resources.GetFont(Resource.Font.quicksand); // 或者获取特定字重的字体 var boldTypeface = Resources.GetFont(Resource.Font.quicksand_bold); // 给TextView设置字体 myTextView.Typeface = typeface;
常见问题排查
- 字体文件名和xml里的引用要完全一致,Android是大小写敏感的,别写错大小写
- 确认每个.ttf文件的生成操作确实是
AndroidResource(右键文件→属性→生成操作) - 如果字体没生效,试试清理项目后重新生成(Build→Clean Solution,然后Build→Rebuild Solution)
内容的提问来源于stack exchange,提问作者Rob Lyndon
相关产品推荐
相关产品推荐

