いくつかのこと:
はい、レイアウトフォルダーは面倒です。厳密な命名規則を使用して耐えられるようにし、Eclipse ではショートカットを使用して、ctrl + shift + r
探しているレイアウトをすばやく見つけます。アクティビティにちなんでレイアウトに名前を付けてみてください: activity1_menu_overlay
and activity1_main
. 上記のショートカットを使用して入力Activity1
するだけで、関連するレイアウトのみが表示されます。
それでもうまくいかない場合は、すべてのビューをラップして、またはLinearLayouts
使用して適切なビューを表示/非表示にすることができます。 view.setVisibility(View.Gone);
view.setVisibility(View.Visible);
説明が難しいので、2 番目の例を次に示します。
1 つの XML ファイル:
<LinearLayout>
<LinearLayout ... android:visibility="visible">
<copy/paste of view 1>
</Linearlayout>
<Linearlayout ... android:visibility="gone">
<copy/paste of view 2>
</Linearlayout>
<Linearlayout ... android:visibility="gone">
<copy/paste of view 3>
</Linearlayout>
<Linearlayout ... android:visibility="gone">
<copy/paste of view etc.>
</Linearlayout>
</Linearlayout>
このアプローチでは、アクティビティ内の各「子」ビューへの参照を定義する必要があることに注意してください。これにより、適切LinearLayout
に呼び出すことができますsetVisiblity
。
このアプローチはアニメーションに適しています。私は、1 つの xml ファイルで 2 つまたは 3 つの可能なビューに対してのみ使用します。