0

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

谢谢!

4

4 回答 4

1

如果您真的想擦除可以使用的所有内容:

ViewGroup.removeAllViews();

在布局中的根视图上。

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

View.setVisibility(View.GONE)

而是能够重用它。

于 2012-11-14T10:54:20.053 回答
0

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

于 2012-11-14T10:52:44.467 回答
0

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

于 2012-11-14T10:52:59.770 回答
0

没有必要实际删除视图。改用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();
于 2012-11-14T22:03:59.590 回答