Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/195.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
android中使用xml的新自定义字体方法_Android_Xml_Android Studio_Fonts_Custom Font - Fatal编程技术网

android中使用xml的新自定义字体方法

android中使用xml的新自定义字体方法,android,xml,android-studio,fonts,custom-font,Android,Xml,Android Studio,Fonts,Custom Font,随着android发布其O预览版,添加了一个新功能,称为xml字体。这很容易实现,但我没有什么疑问 首先让我添加一个最佳方法 1.)右键单击res文件夹,进入New>Android资源目录。新的 资源目录窗口出现。 2.)在资源类型列表中,选择font,然后单击确定。 3.在字体文件夹中添加字体文件。下面的文件夹结构生成R.font.dancing\u脚本、R.font.la\u la和R.font.ba\u ba。 4.双击字体文件以在编辑器中预览文件的字体 接下来,我们必须创建一个字体族 1

随着android发布其O预览版,添加了一个新功能,称为xml字体。这很容易实现,但我没有什么疑问

首先让我添加一个最佳方法
1.)右键单击res文件夹,进入New>Android资源目录。新的
资源目录窗口出现。
2.)在资源类型列表中,选择font,然后单击确定。
3.在字体文件夹中添加字体文件。下面的文件夹结构生成R.font.dancing\u脚本、R.font.la\u la和R.font.ba\u ba。
4.双击字体文件以在编辑器中预览文件的字体

接下来,我们必须创建一个字体族

1.)右键单击字体文件夹并转到新建>字体资源文件。此时会出现“新建资源文件”窗口。
2.)输入文件名,然后单击确定。新的字体资源XML将在编辑器中打开。
3.)在字体标记元素中包含每个字体文件、样式和权重属性。以下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/hey_regular" />
    <font
    android:fontStyle="italic"
    android:fontWeight="400"
    android:font="@font/hey_bababa" />
</font-family>

向文本视图添加字体:

   <TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    **android:fontFamily="@font/ba_ba"**/>

从文档来看,所有步骤都是正确的。
我的问题是:
1.)这在android棒棒糖或棉花糖中是否有效
2.)实现这些功能是否需要任何支持库
3.)它将支持什么类型的字体扩展,如.ttf.otf



请给我一个最好的解释。

1。)这在android棒棒糖或棉花糖中能起作用吗

答:它的工作也为较低版本(根据我的研究)

2.)实现这些功能是否需要任何支持库

答:无需支持Lib,只需更新sdk(Android O)

3.)它将支持什么类型的字体扩展,如.ttf.otf

答:是的,它支持.ttf、.otf字体文件

有关更多信息,请参见以下链接:


您是否在早期的Android版本下成功运行了它?从我执行的测试来看,我只能在Android-O开发预览下运行它,并在模拟器上运行。在6.0(API 23)和7.1(API 25)下,将
android:fontFamily
属性设置为资源id(如
@font/lobster
)没有效果。我没有尝试过,但基于android开发者演示视频,他们告诉我完全支持(视频点击上面的链接android-O预览视频)。我将尝试更新我的答案我已经尝试过牛轧糖和android:fontFamily,但不支持getResources().getFont()。如何在不创建字体的情况下动态获取字体?@tasneem有趣的是,您使用的Android Studio、Android插件、Gradle和Android SDK构建工具的版本是什么?@ra3o.ra3看起来并不取决于Gradle版本或Android Studio。我用的是gradle alpha 5和cannery 6。.getFont()方法不受低于O的支持。