目前我正在使用
为运行时设置字体android:typeface
但该字体并未反映在Android Studio的布局编辑器中。我尝试使用与我在代码中使用的值相同的值设置android:fontFamily
以及{{1}},但没有用。
是否可以让布局构建器反映自定义字体更改?
答案 0 :(得分:3)
根据How to change fontFamily of TextView in Android
从android 4.1 / 4.2 / 5.0开始,如下 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"
这14种变体是可能的:
- Roboto定期
- Roboto italic
- Roboto bold
- Roboto粗体斜体
- Roboto-Light
- Roboto-Light italic
- Roboto-Thin
- Roboto-Thin italic
- Roboto-Condensed
- Roboto-Condensed italic
- Roboto-Condensed bold
- Roboto-Condensed bold italic
- 的Roboto培养基
- Roboto-Medium italic
注意:还有robotium-thin
个类型空间。
但是当我看到你想要使用自定义字体时,你也会发现:
Android不允许您从XML布局设置自定义字体。 相反,您必须将特定字体文件捆绑在应用程序的资产中 文件夹,并以编程方式设置它。类似的东西:
TextView textView = (TextView) findViewById(<your TextView ID>); Typeface typeFace = Typeface.createFromAsset(getAssets(), "<file name>"); textView.setTypeface(typeFace);
请注意,您只能在setContentView()之后运行此代码 调用。此外,Android只支持一些字体,应该是 以
.ttf (TrueType)
或.otf (OpenType)
格式。有些人 字体可能无效。This是一种绝对适用于Android的字体,您可以使用 这是为了确认您的代码是否有效,以防您的字体文件没有 Android支持。
请自由发言,如果这篇文章对您没有帮助
答案 1 :(得分:1)