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

すべてのビューを1つのレイアウトにまとめ、レイアウトの可視性を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 に答える