首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >fontFeatureSettings=smcp不适用于安卓系统

fontFeatureSettings=smcp不适用于安卓系统
EN

Stack Overflow用户
提问于 2020-01-29 10:19:59
回答 2查看 1.1K关注 0票数 2

我需要用SmallCaps在TextView上显示文本。我试图使用下面的代码:

代码语言:javascript
复制
<TextView
        android:id="@+id/text1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:fontFeatureSettings="smcp"
        android:textColor="@color/black"
        android:textSize="16sp"
        android:text="TEXT" />

但它只是显示了正常的文本,没有SmallCaps效应。我还尝试以编程的方式设置它(text1.fontFeatureSettings = "smcp"),但也没有成功。

如何在安卓系统中生成SmallCaps文本?为什么fontFeatureSettings不能工作?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-02-04 10:28:59

为了使这个特性工作,您必须有一个实际具有小Caps字符的字体--因此,为了使它能够通过app:fontFamily(android:fontFamily) (例如Aller Display )传递带有小Caps的字体,然后使用android:fontFeatureSettings="smcp"使其成为小Caps。

希望它能帮上忙

编辑

正如@Cliabhach在注释中指出的,在代码中,它将类似于

代码语言:javascript
复制
    text1.typeface = resources.getFont(R.font.Aller_Display)
    text1.fontFeatureSettings = "smcp"

Edit2

要记住,对于那些不认识的人来说,只适用于小写字符。

票数 7
EN

Stack Overflow用户

发布于 2020-02-04 10:45:05

由于您使用的是TextView,所以我猜您在运行时为它设置了值,比如,您有一些String对象,它将被设置为TextView,例如:

代码语言:javascript
复制
textView.setText(someStringObj);

因此,通过添加以下内容,您可以轻松地将其设置为小写:

代码语言:javascript
复制
textView.setText(someStringObj.toLowerCase());
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59964956

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档