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