and*_*per 19 android android-studio
有时,您希望将一些占位符仅显示在IDE上的布局文件中.
例如,您可以使用:
<ImageView tools:src="@tools:sample/avatars" ... />
Run Code Online (Sandbox Code Playgroud)
并在预览中得到这个:
这些文件不是构建应用程序时获得的APK的一部分,因此仅用于开发是安全的.
这是我从这里被告知的:
对于3.0中的示例数据,您现在可以拥有不属于已编译apk的占位符图像.您只需要项目中的sampledata目录,其子目录包含要用作占位符的所有图像.您可以从"工具"属性中引用这些图像.此外,还有预定义的库存图像,如@ sample/avatars或@ sample/background/scenic
我找不到如何在项目中添加更多这样的图像(这样它们只会在IDE中使用,而不是APK的一部分),如果有办法放置其他资源,除了图像.
实际上我找不到这个功能的文档.
我试图将图像放在"res/sampledata"上并尝试"res/sample",但在两种情况下我都无法达到它.
Tim*_*Tim 28
甚至这个功能的名称是什么?
官方消息来源未经证实,但它可能被称为"样本数据".
如何将图像文件放入项目中,并以此方式将其用作占位符?在哪个文件夹?
与图像,字体等资源不同.样本数据不会进入/res/(因此不会使用应用程序进行编译.通过将它们放在完全独立的目录中来过滤它们可能更容易).他们进去/app/sampledata/,例如:/app/sampledata/image.png.
您可以通过右键单击应用程序来创建sampledata文件夹并执行以下操作New > Sample Data directory:
然后,您可以像这样引用它们 @sample/
<ImageView
android:layout_width="match_parent"
android:layout_height="200dp"
tools:src="@sample/test.png" />
Run Code Online (Sandbox Code Playgroud)
虽然这没有给出任何错误,但遗憾的是这个功能现在似乎有问题,因为图像没有显示在预览中,无论它们是否放在子目录中(尝试过png,jpeg,jpg,xml).
有趣的是,将单个图像放在子目录中并引用该子目录而不是特定图像似乎有效:
这个结构
结合这些参考
<?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>
Run Code Online (Sandbox Code Playgroud)
生成此预览.请注意我如何利用tools:background将布局背景设置为示例图像.
是否可以添加更多图像以便这种方式使用?
是的,只需将它们添加到文件夹即可.
是否可以添加其他资源?布局?字符串?
它似乎也不支持.如果您尝试定义其他类型的资源,则由于无法识别关键字而导致一堆语法错误,或者您无法使用tools:src="@sample/符号来引用它们.
这个新功能有更多功能吗?
目前不确定.
小智 7
在我这边,我尝试使用图像文件作为 Imageview 的占位符tools:src="...":我确实将 PNG 文件放在sampledata子目录中,但它要么不会显示,要么显示为损坏的图像。
经过一番摆弄后,我发现一些东西可以解决我的问题:
sampledata名为:的子目录drawableimage.png->image_drawable.png这时候占位符才出现。您可以根据drawable需要创建子目录,以保持示例图像的组织性,但重要的是仍然drawable保留父目录。
我没有任何文档或来源来支持我,但我认为它可能对处于相同情况的其他人有用。
| 归档时间: |
|
| 查看次数: |
8364 次 |
| 最近记录: |