一 设置字体样式的四个属性
1. 四个属性:fontFamily,typeface,textStyle,textFontWeight 2. 设置字体用fontFamily,typeface属性3. 设置字重用textStyle,textFontWeight属性(前者可以设置除加粗字重外,还可以设置斜体之类样式)
二 字体、黑体
1. 设置字体用fontFamily,typeface属性,设置fontFamily,typeface时,例:android:fontFamily="sans-serif-medium" ,其中sans-serif-medium是实际字体的别名, 字体文件以及别名文件路径如下: 字体文件位置: /system/fonts/xxx.ttf 别名文件位置: /system/etc/fonts.xml frameworks/base/graphics/java/android/graphics/fonts/SystemFonts.java中在读取解析这些文件 2. fontFamily,typeface区别 --未验证 android:typeface属性是增加API1 android:fontFamily在API16(4.1)中添加了属性 当同时设置typeface和fontFamily时,只有fontFamily生效,typeface有废弃趋势? 3. 黑体,指的是无衬线字体,在中文中没有衬线的字体通常称为黑体,这时这个词的范畴和无衬线字体(Sans-serif)是类似的。 所以在中文字体中常用“黑体”,在西文中常用“无衬线体”的称呼。而宋体就可以被称作衬线字体。 参考 https://baike.baidu.com/item/%E9%BB%91%E4%BD%93/10402#viewPageContentTextView的默认字体参考第五段
三 字重
字重,是指字体的粗细程度,大致分类如下 100——淡体 Thin/Hairline 200——特细 Extra-Light/Ultra-Light 300——细体 Light 350——次细 Demi-Light 400——标准 Regular/Normal/Book/Plain 500——适中 Medium 600——次粗 Demi-Bold/Semi-Bold 700——粗体 Bold 800——特粗 Extra-bold/Extra 900——浓体 Black/Heavy 950——特浓 Extra-Black/Ultra-Black Android中可以通过textStyle、textFontWeight属性去设置 android:textStyle="normal" //字重400 android:textStyle="bold|italic" //字重700 斜体 android:textFontWeight="500" //字重500 TextView的默认字重参考第五段
四 UI口中的“中黑体”
字重500的黑体
五 TextView的默认字体、字重
TextView默认字体是黑体+400字重,安卓中的黑体(sans-serif)用的是Roboto相关文件:framework/res/