我有一个包含各种视图的活动(按钮、文本等)。我想做的是以编程方式擦除其中的所有内容,然后将一些图片设置为背景。当然,使用相同的活动而不切换到不同的活动。那可能吗?
谢谢!
我有一个包含各种视图的活动(按钮、文本等)。我想做的是以编程方式擦除其中的所有内容,然后将一些图片设置为背景。当然,使用相同的活动而不切换到不同的活动。那可能吗?
谢谢!
如果您真的想擦除可以使用的所有内容:
ViewGroup.removeAllViews();
在布局中的根视图上。
但是您可能需要考虑使用ViewSwitcher或简单地使用隐藏内容
View.setVisibility(View.GONE)
而是能够重用它。
您的所有视图都必须位于某个主布局中(如果没有,请将它们放在一个这样的布局中)。给该布局一个 id,然后使用 findViewById() 获取该布局,并在其上调用removeAllViews()或 removeAllViewsInLayout() 方法。
您可以将所有视图放在一个布局中,并将布局的可见性设置为 View.GONE 并将图像可见性设置为可见
没有必要实际删除视图。改用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();