Androidの目的は何ですか? XMLレイアウトのタグ? 質問する

Androidの目的は何ですか? XMLレイアウトのタグ? 質問する

もう読んだロマン・ガイの投稿タグに とあります<merge />が、それがどのように役立つのかまだわかりません。これはタグの代わりのようなものです<Frame />か、それとも次のように使用されるのですか:

<merge xmlns:android="....">
<LinearLayout ...>
    .
    .
    .
</LinearLayout>
</merge>

では<include />別のファイルのコードはどうでしょうか?

ベストアンサー1

<merge/>不要な ViewGroup、つまり他のビューをラップするためにのみ使用され、それ自体は何の役にも立たないレイアウトを削除できるため便利です。

たとえば、マージを使用せずに別のファイルからレイアウトを作成する場合<include/>、2 つのファイルは次のようになります。

レイアウト1.xml:

<FrameLayout>
   <include layout="@layout/layout2"/>
</FrameLayout>

レイアウト2.xml:

<FrameLayout>
   <TextView />
   <TextView />
</FrameLayout>

これは機能的には次の単一のレイアウトと同等です。

<FrameLayout>
   <FrameLayout>
      <TextView />
      <TextView />
   </FrameLayout>
</FrameLayout>

layout2.xml の FrameLayout は役に立たないかもしれません。<merge/>これを削除すると役立ちます。マージを使用すると次のようになります (layout1.xml は変更されません)。

レイアウト2.xml:

<merge>
   <TextView />
   <TextView />
</merge>

これは機能的には次のレイアウトと同等です:

<FrameLayout>
   <TextView />
   <TextView />
</FrameLayout>

ただし、 を使用しているため、<include/>レイアウトを他の場所で再利用できます。 FrameLayouts のみを置き換えるために使用する必要はありません。ビューの外観や動作に役立つものを追加しないレイアウトを置き換えるために使用できます。

おすすめ記事