擦除屏幕上的所有内容并显示图像



我有一个包含各种视图(按钮、文本等)的活动。我想做的是以编程方式擦除其中的所有内容,然后将一些图片设置为背景。当然,使用相同的活动而不切换到不同的活动。这可能吗?

谢谢!

如果你真的想擦除所有你可以使用的东西:

ViewGroup.removeAllViews();

在布局中的根视图中。

但是您可能需要考虑使用ViewSwitcher或简单地隐藏内容

View.setVisibility(View.GONE)

而是能够重用它。

您的所有视图都必须位于某个主布局中(如果没有,请将它们放在一个这样的布局中)。给该布局一个 id,然后使用 findViewById() 获取该布局,并调用 removeAllViews() 或 removeAllViewsInLayout() 方法。

您可以将

所有视图放在一个布局中,并将布局的可见性设置为 View.GONE,并将图像可见性设置为 visible

无需

实际删除视图。请改用ViewSwitcher

<?xml version="1.0" encoding="utf-8"?>
<ViewSwitcher
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/viewswitcher"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
    <ImageView
            android:src="@drawable/your_image"
            android:layout_width="match_parent"
            android:layout_height="match_parent"/>
    <LinearLayout
            android:layout_height="match_parent"
            android:layout_width="match_parent">
            <!-- your views here -->
    </LinearLayout>
</ViewSwitcher>

然后,在您的代码中:

ViewSwitcher vs = (ViewSwitcher) findViewById(R.id.viewswitcher);
vs.showNext();
vs.showPrevious();

最新更新