Android 工作室:您可以显示一个仅供预览的视图吗?

Android Studio: Can you display a view just for preview?

我的应用程序有很多视图,它们是片段的容器(加载图像和其他视图)并依赖于 API 来获取图像。为了使设计的开发更容易,我想在我的 xml 中添加该图像的样本。现在,我正在添加一个带有 FragmentContainer 的 RelativeLayout 和一个使用 android:visibilitytools:visibility 不同可见性值的虚拟 ImageView。

有没有更好的方法来显示仅供预览的图像?我希望在发布版本中不编译预览视图。

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <ImageView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:visibility="gone"
        tools:adjustViewBounds="true"
        tools:src="@drawable/image"
        tools:visibility="visible" />

    <RelativeLayout
        android:id="@+id/FragmentContainer"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

</RelativeLayout>

如果我正确理解你的问题,你可以这样做: 而不是使用虚拟视图,使用

<include tools:layout="@layout/layout_preview" layout="@layout/layout_actual"/>

其中 layout_preview.xml 是您只想在预览中使用的内容,layout_actual.xml 是将在应用程序中使用的内容

如果您只想在预览中添加视图,但在应用中根本没有视图,您可以使用带有空合并标签的layout_actual.xml

<?xml version="1.0" encoding="utf-8"?>
<merge xmlns:android="http://schemas.android.com/apk/res/android"/>

如果您不想包含无用的布局,您可能只想为调试构建类型创建虚拟布局,它会在布局中显示错误,因为 layout_dummy 会丢失,但由于它是您应该能够编译的 tools 属性和 运行