gpt4 book ai didi

android - 如何将新的占位符资源放入 Android Studio 项目 ("tools:sample"资源)?

转载 作者:IT老高 更新时间:2023-10-28 23:31:22 31 4
gpt4 key购买 nike

背景

有时,您希望将一些占位符仅在 IDE 的布局文件中显示。

作为一个例子,你可以使用这个:

<ImageView tools:src="@tools:sample/avatars" ... />

在预览中得到这个:

enter image description here

此类文件不是您在构建应用时获得的 APK 的一部分,因此仅用于开发是安全的。

这是 here 告诉我的:

With sample data in 3.0, you can now have placeholder images that are not part of the compiled apk. You just need a sampledata directory in your project with a subdirectory containing all the images you want to use as placeholders. You can refer those images from "tools" attributes. Also, there are predefined stock images like @sample/avatars or @sample/background/scenic

问题

我找不到如何将更多此类图像添加到项目中(这样它们只会在 IDE 中使用,而不是 APK 的一部分),如果有办法放置其他资源,除了图片。

事实上我找不到这个功能的文档。

我尝试了什么

我尝试将图像放在“res/sampledata”上并尝试在“res/sample”上,但在这两种情况下我都无法访问它。

问题

  1. 此功能的名称是什么?
  2. 如何将图像文件放入项目中,并以这种方式将其用作占位符?在哪个文件夹中?
  3. 是否可以通过这种方式添加更多图片?
  4. 是否可以添加其他资源?布局?字符串?
  5. 这个新功能还有更多功能吗?

最佳答案

What's even the name of this feature?

未经官方来源证实,但可能称为“样本数据”。

How can I put the image file into the project, and use it as a placeholder this way ? In which folder?

与图像、字体等资源不同。示例数据不在 /res/ 中(因此它们没有与应用程序一起编译。通过将它们过滤掉可能更容易它们在一个完全独立的目录中)。它们进入/app/sampledata/,例如:/app/sampledata/image.png

您可以通过右键单击应用程序并执行 New > Sample Data directory 来创建 sampledata 文件夹:

enter image description here

然后你可以像这样引用它们,使用 @sample/

<ImageView
android:layout_width="match_parent"
android:layout_height="200dp"
tools:src="@sample/test.png" />

虽然这没有给出任何错误,但遗憾的是该功能现在似乎有问题,因为图像不会显示在预览中,无论它们是否放置在子目录中(尝试过 png、jpeg、jpg、xml) .

有趣的是,将单个图像放在子目录中并引用该子目录而不是特定图像似乎可行:

这个结构

enter image description here

结合这些引用资料

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:background="@sample/image">

<ImageView
android:layout_width="match_parent"
android:layout_height="100dp"
tools:src="@sample/avatar" />

<ImageView
android:layout_width="match_parent"
android:layout_height="100dp"
tools:src="@sample/jpeg" />

<ImageView
android:layout_width="match_parent"
android:layout_height="100dp"
tools:src="@sample/vector" />

</LinearLayout>

生成此预览。请注意我如何利用 tools:background 将布局背景设置为示例图像。

enter image description here

Is it possible to add more images to be used this way?

是的,只需将它们添加到文件夹中即可。

Is it possible to add other resources? Layouts? Strings?

它似乎也不支持。如果您尝试定义其他类型的资源,您可能会因为无法识别关键字而出现一堆语法错误,或者您无法使用 tools:src="@sample/ 表示法来引用它们.

Are there more capabilities of this new feature?

目前不确定。

关于android - 如何将新的占位符资源放入 Android Studio 项目 ("tools:sample"资源)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46192545/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com