0

実行時に別のレイアウト内にレイアウトを挿入する最良の方法は何ですか? 具体的には、ListView を含む FrameLayout があります。これは 1 つの mainlayout.xml ファイルで定義されており、header.xml でヘッダーを定義する別のレイアウト ファイルがあります。

1) mainlayout.xml の定義内に headerlayout.xml で定義されたレイアウトを含めるにはどうすればよいですか (静的な場合)。つまり、内部のすべてをコピーせずに、他の定義を参照します。

2) 実行時に mainlayout.xml の特定の場所にヘッダー レイアウトを動的に追加するにはどうすればよいですか? 膨らませることについては知っていますが、メインレイアウトで必要な場所に取り付ける方法がわかりません。mainlayout.xml に定義全体を含めていないので、そこにプレースホルダーを用意し、インフレ後に適切な場所に動的に設定する方法を教えてください。(動的な場合)。

4

1 に答える 1

2

スタティックケース。あなたの中にmainlayout.xml

<include layout="@layout/header" id="@+id/header" />

静的にも動的にもできる別のソリューションは、ViewStubを使用することです

<ViewStub android:id="@+id/stub"
          android:inflatedId="@+id/subTree"
          android:layout="@layout/mySubTree"
          android:layout_width="120dip"
          android:layout_height="40dip" />
于 2012-08-10T07:14:39.380 に答える