为了账号安全,请及时绑定邮箱和手机立即绑定

android:fontFamily的有效值及其对应的值是什么?

android:fontFamily的有效值及其对应的值是什么?

慕桂英3389331 2019-09-27 16:35:17
在该问题的答案中,用户列出的值android:fontFamily和12个变体(请参见下文)。这些价值从何而来?的文档android:fontFamily未在任何地方列出此信息(我在此处和此处进行了检查)。这些字符串在Android styles.xml文件的不同位置列出,但是这些字符串如何映射回Roboto字体?从android 4.1 / 4.2开始,可以使用以下Roboto字体系列:android:fontFamily="sans-serif"           // roboto regular  android:fontFamily="sans-serif-light"     // roboto light  android:fontFamily="sans-serif-condensed" // roboto condensed  android:fontFamily="sans-serif-thin"      // roboto thin (android 4.2)  android:fontFamily="sans-serif-medium"    // roboto medium (android 5.0)与此结合android:textStyle="normal|bold|italic" 12种变体是可能的:定期斜体胆大加粗斜体光光斜体瘦薄斜体浓缩常规斜体字浓缩粗体粗体斜体在styles.xml应用程序的文件中,我正在与某人合作,将其列为字体系列,我很确定这是错误的:<item name="android:fontFamily">Roboto-Regular.ttf</item>我想正确设置我们应用程序的主题(包括正确使用fontFamily),并删除在查看文件之前创建的某些样式中的所有冗余。
查看完整描述

3 回答

?
明月笑刀无情

TA贡献1828条经验 获得超4个赞

这些价值从何而来?android:fontFamily的文档未在任何地方列出此信息


这些确实没有在文档中列出。但他们提到这里下的部分“字体家庭”。该文档列出了Android Jelly Bean 4.1的每个新公共API。


在应用程序的styles.xml文件中,我正在与某人合作,将其列为字体系列,我很确定这是错误的:


是的,那是错误的。您没有引用字体文件,必须使用上面链接的文档中提到的字体名称。在这种情况下,应该是这样的:


<item name="android:fontFamily">sans-serif</item>

像已经说明的链接答案一样,可能有12种变体:


已在Android Jelly Bean(4.1)-API 16中添加:

常规(默认):


<item name="android:fontFamily">sans-serif</item>

<item name="android:textStyle">normal</item> 

斜体:


<item name="android:fontFamily">sans-serif</item>

<item name="android:textStyle">italic</item>

粗体:


<item name="android:fontFamily">sans-serif</item>

<item name="android:textStyle">bold</item>

粗斜体:


<item name="android:fontFamily">sans-serif</item>

<item name="android:textStyle">bold|italic</item>

灯:


<item name="android:fontFamily">sans-serif-light</item>

<item name="android:textStyle">normal</item>

斜体:


<item name="android:fontFamily">sans-serif-light</item>

<item name="android:textStyle">italic</item>

薄:


<item name="android:fontFamily">sans-serif-thin</item>

<item name="android:textStyle">normal</item>

细斜体:


<item name="android:fontFamily">sans-serif-thin</item>

<item name="android:textStyle">italic</item>

浓缩常规:


<item name="android:fontFamily">sans-serif-condensed</item>

<item name="android:textStyle">normal</item>

斜体:


<item name="android:fontFamily">sans-serif-condensed</item>

<item name="android:textStyle">italic</item>

浓缩粗体:


<item name="android:fontFamily">sans-serif-condensed</item>

<item name="android:textStyle">bold</item>

粗体斜体:


<item name="android:fontFamily">sans-serif-condensed</item>

<item name="android:textStyle">bold|italic</item>

已在Android Lollipop(v5.0)-API 21中添加:

媒介:


<item name="android:fontFamily">sans-serif-medium</item>

<item name="android:textStyle">normal</item>

中斜体:


<item name="android:fontFamily">sans-serif-medium</item>

<item name="android:textStyle">italic</item>

黑色:


<item name="android:fontFamily">sans-serif-black</item>

<item name="android:textStyle">italic</item>


查看完整回答
反对 回复 2019-09-27
?
梵蒂冈之花

TA贡献1900条经验 获得超5个赞

据我所知,您无法在xml或主题中声明自定义字体。我通常只制作自定义类来扩展textview,这些类在实例化时设置自己的字体,并在我的布局xml文件中使用它们。


即:


public class Museo500TextView extends TextView {

    public Museo500TextView(Context context, AttributeSet attrs) {

        super(context, attrs);      

        this.setTypeface(Typeface.createFromAsset(context.getAssets(), "path/to/font.ttf"));

    }

}


<my.package.views.Museo900TextView

        android:id="@+id/dialog_error_text_header"

        android:layout_width="190dp"

        android:layout_height="wrap_content"

        android:gravity="center_horizontal"

        android:textSize="12sp" />


查看完整回答
反对 回复 2019-09-27
  • 3 回答
  • 0 关注
  • 2860 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信