私のアプリには、私が持っているすべてのアクティビティとさまざまなページに表示したいメニューがあります。問題は、このメニューをすべてのアクティビティに適用する方法が見つからないことと、画面の特定の部分にアクティビティをロードする方法が見つからないことです。
画面の中央には十分なサイズの長方形があり、新しい画面を開くたびに画面レイアウトが長方形の中にロードされるようにしたいと思います。
それとも、レイアウトごとに xml コードをコピーして貼り付ける必要があるのでしょうか?
私のアプリには、私が持っているすべてのアクティビティとさまざまなページに表示したいメニューがあります。問題は、このメニューをすべてのアクティビティに適用する方法が見つからないことと、画面の特定の部分にアクティビティをロードする方法が見つからないことです。
画面の中央には十分なサイズの長方形があり、新しい画面を開くたびに画面レイアウトが長方形の中にロードされるようにしたいと思います。
それとも、レイアウトごとに xml コードをコピーして貼り付ける必要があるのでしょうか?
Activity
画面の特定の部分にロードできません。そのために(@Egorが示唆するように)を使用しますFragment
。
ただし、共通メニューについては、extends Activity
アクティビティで共通に使用できるようにするすべてのものを含む基本クラスを作成することをお勧めします。後で、基本クラスを使用してアクティビティを拡張します。
Fragmentsの使用を検討する必要があります。異なる 間でロジックを複製することなく、アプリケーションFragment
のすべてで再利用できる を定義できます。お役に立てれば。Activity
Activities
これを行う場合もあります。onCreateOptionsMenu
1 つは、代わりに ActionBar を使用して膨張できるカスタム メニューを作成することです。
また、メニューで別のxmlを作成し、<include>
タグですべてのレイアウトxmlに追加することでこれを行うことができます。
3 番目の方法は、Fragments-Class:リンクを使用することです。
あるレイアウトから次のレイアウトに xml コードをカット アンド ペーストしてはいけません。そのため、次のものが含まれています。
<include layout="@layout/header"/>
問題を考えすぎないでください。フラグメントを調べて、メニューのような再利用可能なウィジェットを作成したり、アクティビティを拡張してメニュー ロジックを抽象化したりする必要があります。