背景
有时,您希望在布局文件中放置一些仅在IDE上显示的占位符。
例如,您可以使用以下代码:
<ImageView tools:src="@tools:sample/avatars" ... />
在预览中看到这个:
此类文件不是您构建应用时获得的APK的一部分,因此仅用于开发是安全的。
这是我从这里得到的消息:
有了Python 3.0中的示例数据,您现在可以拥有不属于已编译apk一部分的占位符图像。您只需要在项目中有一个sampledata目录,其中包含所有要用作占位符的图像的子目录。您可以从“tools”属性引用这些图像。此外,还有一些预定义的库存图像,如@sample/avatars或@sample/background/scenic
问题
我找不到如何将更多的此类图像添加到项目中(这样它们将只在IDE中使用,而不是APK的一部分),以及是否有办法将其他资源,而不是图像。
事实上我找不到这个功能的文档。
我所尝试的
我尝试将图像放在“res/sampledata”上,并尝试放在“res/sample”上,但在这两种情况下都无法访问它。
问题
1.这个功能叫什么名字?
1.如何将图像文件放入项目中,并以这种方式将其用作占位符?在哪个文件夹中?
1.是否可以添加更多图像以这种方式使用?
1.是否可以添加其他资源?布局?字符串?
1.此新功能是否有更多功能?
5条答案
按热度按时间qc6wkl3g1#
这个功能叫什么名字?
未经官方证实,但它可能被称为“样本数据”。
如何将图像文件放入项目中,并以这种方式将其用作占位符?在哪个文件夹中?
与图片、字体等资源不同,示例数据不以
/res/
存放(它们不是用应用程序编译的,因此,将它们放在一个完全独立的目录中可能更容易过滤掉)。它们以/app/sampledata/
存放,例如:/app/sampledata/image.png
.您可以通过右键单击app并执行
New > Sample Data directory
来创建sampledata文件夹:然后,您可以使用
@sample/
引用它们,如下所示虽然这不会给予任何错误,但遗憾的是,该功能现在似乎有缺陷,因为图像不会显示在预览中,无论它们是否被放置在子目录中(尝试了png、jpeg、jpg、xml)。
有趣的是,将单个图像放在子目录中并引用该子目录而不是特定图像似乎是可行的:
该结构
结合这些参考资料
生成此预览。请注意我是如何利用
tools:background
将布局背景设置为示例图像的。是否可以添加更多图像以这种方式使用?
是的,把它们加到文件夹里。
是否可以添加其他资源?布局?字符串?
如果你试图定义其他类型的资源,你要么因为关键字不能被识别而得到一堆语法错误,要么你不能用
tools:src="@sample/
表示法引用它们。此新功能是否有更多功能?
此时不确定。
0aydgbwb2#
在我这边,我尝试使用
tools:src="..."
将图像文件用作Imageview的占位符:我确实把我的PNG文件放在了sampledata
子目录中,但它要么不显示,要么显示为一个破碎的图像。经过一番折腾,我找到了解决问题的方法:
sampledata
的子目录:drawable
image.png
-〉image_drawable.png
您可以根据需要从
drawable
创建子目录,以保持示例图像的组织性,但重要的是drawable
仍然是父目录。我没有任何文件或来源来支持我,但我认为它可能对其他处于同样情况的人有用。
3yhwsihp3#
我想你已经得到了在我之前回答的人对其他问题的准确答案,但我可以给予你一个特别是这个问题的变通解决方案
是否可以添加更多图像以这种方式使用?
我已经面对这个问题相当长的一段时间,并找到了一个变通办法。
我的问题是我不能在
SimpleDraweeView
中使用placeHolderImage
,SimpleDraweeView
是Facebook的Fresco库的一部分,如果你不知道的话。但是由于ImageView
不像SimpleDraweeView
那么复杂,而且由于变通方案适用于SimpleDraweeView
,即使我还没有在ImageView
中尝试过,它肯定也适用。这就是解决方案。
您只需要在SampleData文件夹中创建一个JSON文件,但这一次,您必须这样做。
如您所见,我使用了
drawable
资源的引用来代替image
键的值。在我的例子中,它是有效的。您在这里得到的是一个图像资源数组,您可以在Android Studio的Design View中预览RecyclerView
的项目中使用这些资源。我的RecyclerView代码如下
记住不要跳过我使用的任何额外的标签,因为如果你错过了任何一个,它可能不会在预览中产生所需的输出。你可以根据你所使用的图像数量的要求自定义
itemCount
属性值。同样,orientation
可能是vertical
或horizontal
,根据你的用例。您可以简单地在recyclerview项目xml文件的
ImageView
中使用tools:src="@sample/your_json_file.json/data/image
来加载示例图像。试试看,让我知道这在你的情况下是否有效。
a2mppw5e4#
工具:src="@工具:示例/头像[5]”
1mrurvl15#
已通过Android Studio海豚测试|2021.3.1补丁1(对它要有耐心,通常它不会立即执行你键入的内容...)
以下封面
目录/文件结构:
使用示例图像
重要提示
1.包含图像的文件夹必须命名为“drawable”
1.图像/矢量的文件名必须以“..._drawable.png”(未测试.jpeg)或“..._drawable.xml”结尾
使用示例字符串
其中some_name.json包含:
和some_other_name.json的名称:
重要提示
1.有趣,真的很好:一个.json文件可以有〉1种字符串