我如何指定例如。 styles.xml中的Roboto-Medium或Roboto-Black
这样的post如何改变Android的TextView的fontFamilybuild议,可以在Android 4.2的styles.xml中指定的Roboto字体的变体归结为以下内容:
- 定期
- 斜体
- 胆大
- 加粗斜体
- 光
- 光斜体
- 瘦
- 薄斜体
- 浓缩正规
- 浓缩斜体
- 粗体粗体
- 浓缩的粗体 – 斜体
这留下了使用例如,样式TextViews的能力。 Roboto-Medium或Roboto-Black字体。
但为什么Google会添加无法用于TextViews样式的系统宽字体? 当然,必须有一些从styles.xml中指定所有Roboto字体的方法(即,不必将字体embedded为Assets和在代码中创build自定义TextViews),但是如何?
在Android 5.0上,您可以使用sans-serif-medium
设置Roboto Medium。
此解决scheme取自2014年的Google ios ,在Android v21之前使用sans-serif
:
价值观/ styles.xml
<style name="MyStyle"> <item name="android:fontFamily">@string/font_fontFamily_medium</item> </style>
值/ fonts.xml
<string name="font_fontFamily_medium">sans-serif</string>
值-V21 / fonts.xml
<string name="font_fontFamily_medium">sans-serif-medium</string>
感谢Jakob Eriksson
如何在Android中更改TextView的fontFamily
android:fontFamily="sans-serif" // roboto regular android:fontFamily="sans-serif-light" // roboto light android:fontFamily="sans-serif-condensed" // roboto condensed android:fontFamily="sans-serif-black" // roboto black android:fontFamily="sans-serif-thin" // roboto thin (android 4.2) android:fontFamily="sans-serif-medium" // roboto medium (android 5.0)
很有型:
<style name="AppTheme.DefaultTextView"parent="android:style/Widget.TextView"> <item name="android:textSize">@dimen/text_view_text_size</item> <item name="android:textColor">@color/black</item> <item name="android:fontFamily">sans-serif-light</item> <item name="android:textStyle">normal</item> </style>
在应用程序主题:
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> <item name="colorPrimary">@color/colorPrimary</item> <item name="colorPrimaryDark">@color/colorPrimaryDark</item> <item name="colorAccent">@color/gray</item> <item name="android:textViewStyle">@style/AppTheme.DefaultTextView</item> </style>
我build议你使用像Android-RobotoTextView或书法的自定义库。 有了其中的一个,你可以用一个属性在xml中设置一个视图的字体,所以你可以把它放在styles.xml中。 而且它们可以与4.0以前版本的Android一起使用