このために新しいアクティビティを作成するのはやり過ぎになることに同意します。これに対処する 1 つの方法はGridView
、「ボタン」を配置することです。ユーザーはグリッドからボタンをクリックして選択します。問題は、このグリッドをどこに/どのように表示するかです。
私の意見では、ViewFlipper は素晴らしいオプションです。それを行う方法は、ビューフリッパー内に既存のレイアウトを配置し、既存のレイアウトの後に GridView を ViewFlipper に配置することです。
<ViewFlipper xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/flipper">
<LinearLayout ...>
<!-- this is where your main layout goes -->
</LinearLayout>
<GridView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/player_select"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
</ViewFlipper>
次に、アクティビティで、グリッド ビューのアダプタとOnItemClickListener
- を設定して、1 つのアイテムがクリックされたときに何かを実行します。最後に、どこか (メイン レイアウト、オプション メニュー、またはその他の場所) で、このグリッド ビューを表示するための何かを提供します。そのアクションのハンドラー コードには、次のようなものがあります。
ViewFlipper flip = (ViewFlipper)flip.findViewById(R.id.flipper);
flip.showNext();
これにより、メイン レイアウトが効果的に非表示になり、代わりにグリッドが表示されます。そして、あなたの最後にあなたOnItemClickListener
が持っているでしょう
ViewFlipper flip = (ViewFlipper)flip.findViewById(R.id.flipper);
flip.showPrevious();
これにより、グリッド ビューが非表示になり、メイン レイアウトに戻ります。トランジションに好きなアニメーションを自由に追加してください (たとえば、3G フリップ アニメーションは特に見栄えがします)。