androidstudio运行结果字体颜色在xml

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了androidstudio运行结果字体颜色在xml相关的知识,希望对你有一定的参考价值。

参考技术A 系统bug。androidstudio是谷歌推出的一个Android集成开发工具。该软件在运行时如果字体颜色在xml时,是系统bug的原因,只需要将该软件卸载重新安装打开即可。

XML 中的字体

Android 8.0(API级别26)引入了一项新功能,即XML中的字体,可让您将字体用作资源。您可以在font文件res/font/夹中添加文件以将字体捆绑为资源。这些字体会在您的R文件中编译,并在Android Studio中自动提供。您可以在新资源类型的帮助下访问字体资源font例如,要访问字体资源,请使用@font/myfontR.font.myfont

要在运行Android 4.1(API级别16)及更高版本的设备上使用XML中的字体功能,请使用支持库26。有关使用支持库的更多信息,请参阅 使用支持库部分。

要将字体添加为资源,请在Android Studio中执行以下步骤:

  1. 右键单击res文件夹,然后转到 新建> Android资源目录

    出现“ 新资源目录”窗口。

  2. 在“ 资源类型”列表中,选择“ 字体”,然后单击“ 确定”

    注意:资源目录的名称必须为 font

    图1.添加字体资源目录

  3. 将字体文件添加到字体文件夹中。

    下面的文件夹结构生成 R.font.dancing_scriptR.font.lobster和 R.font.typo_graphica

    XML 中的字体

    图2.在资源目录中添加字体文件

  4. 双击字体文件以在编辑器中预览文件的字体。

    XML 中的字体

    图3. 预览字体文件

创建字体系列

字体系列是一组字体文件及其样式和粗细详细信息。在Android中,您可以将新的字体系列创建为XML资源并作为一个整体进行访问,而不必将每种样式和粗细引用为单独的资源。这样,系统可以根据您要使用的文本样式选择正确的字体。

要创建字体系列,请在Android Studio中执行以下步骤:

  1. 右键单击该font文件夹,然后转到“ 新建”>“字体资源文件”出现“ 新资源文件”窗口。

  2. 输入文件名,然后单击确定新的字体资源XML在编辑器中打开。

  3. 将每个字体文件,样式和粗细属性包含在 <font>元素中。以下XML说明了在字体资源XML中添加与字体相关的属性:

<?xml version="1.0" encoding="utf-8"?><font-family xmlns:android="http://schemas.android.com/apk/res/android"> <font android:fontStyle="normal" android:fontWeight="400" android:font="@font/lobster_regular" /> <font android:fontStyle="italic" android:fontWeight="400" android:font="@font/lobster_italic" /></font-family>

在XML布局中使用字体

TextView对象或样式中使用单个字体文件或字体家族中的字体的字体要将字体添加到TextView或中,请使用 fontFamily属性。

注意:使用字体系列时, TextView开关会根据需要自行切换以使用该系列的字体文件。

将字体添加到TextView

要为设置字体TextView,请执行以下一项操作:

  • 在布局XML文件中,将fontFamily属性设置为要访问的字体文件。

     <TextView android:layout_width="wrap_content" android:layout_height="wrap_content"        android:fontFamily="@font/lobster"/>
  • 打开“ 属性”窗口以设置的字体 TextView

    1. 选择一个视图以打开“ 属性”窗口。

    注意: “ 属性”窗口仅在打开设计编辑器时可用。选择窗口底部的“ 设计”选项卡。

    2. 展开textAppearance属性,然后从fontFamily列表中选择字体

    1. 图4. 从“属性”窗口中选择字体

如图5右窗格所示,Android Studio布局预览允许您预览中设置的字体TextView

图5. 在布局预览中预览字体

在样式中添加字体

打开styles.xml,然后将fontFamily 属性设置为要访问的字体文件。

<style name="customfontstyle" parent="@android:style/TextAppearance.Small"> <item name="android:fontFamily">@font/lobster</item></style>

以编程方式使用字体

要以编程方式检索字体,请调用getFont(int)方法并提供要检索的字体 的资源标识符。此方法返回一个 Typeface对象。尽管系统会从字体信息中为您选择最佳样式,但是您可以使用该 setTypeface(android.graphics.Typeface, int) 方法来设置具有特定样式的字体。

注:TextView 已经这样做了你。

KOTLIN

val typeface = resources.getFont(R.font.myfont)textView.typeface = typeface

JAVA

Typeface typeface = getResources().getFont(R.font.myfont);textView.setTypeface(typeface);

使用支持库

支持库26.0为运行Android 4.1(API级别16)及更高版本的设备上的XML字体功能提供支持。

注意:当您通过支持库以XML布局声明字体系列时,请使用应用程序名称空间来确保加载字体。

<?xml version="1.0" encoding="utf-8"?><font-family xmlns:app="http://schemas.android.com/apk/res-auto"> <font app:fontStyle="normal" app:fontWeight="400" app:font="@font/myfont-Regular"/> <font app:fontStyle="italic" app:fontWeight="400" app:font="@font/myfont-Italic" /></font-family>

要以编程方式检索字体,请调用 ResourceCompat.getFont(Context, int)方法并提供Context实例和资源标识符。

KOTLIN

val typeface = ResourcesCompat.getFont(context, R.font.myfont)

JAVA

Typeface typeface = ResourcesCompat.getFont(context, R.font.myfont);



以上是关于androidstudio运行结果字体颜色在xml的主要内容,如果未能解决你的问题,请参考以下文章

怎么设置android studio控制台的字体颜色

在 xml 中进行的 AndroidStudio 2.1.1 更改不会在运行时更新

XML 中的字体

notepad++怎么设置代码颜色?

NavigationDrawer 上的自定义字体

如何更改Android Studio的代码字体和颜色