[解決済み] XMLレイアウトにおけるAndroidの<merge>タグは何のためにあるのですか?
2022-03-25 11:14:53
質問
私が読んだのは
ロマンガイの投稿
についてです。
<merge />
というタグがあるのですが、これがどう便利なのか、まだよく分かっていません。の置き換えなのでしょうか?
<Frame />
タグのような使い方をするのでしょうか。
<merge xmlns:android="....">
<LinearLayout ...>
.
.
.
</LinearLayout>
</merge>
では
<include />
を別のファイルに書くのですか?
解決方法は?
<merge/>
は、不要なViewGroups、つまり、単に他のビューをラップするために使用され、それ自体には何の役にも立たないレイアウトを取り除くことができるため、便利です。
例えば、あなたが
<include/>
をマージせずに別のファイルからレイアウトした場合、2つのファイルは次のようになります。
layout1.xml。
<FrameLayout>
<include layout="@layout/layout2"/>
</FrameLayout>
layout2.xml。
<FrameLayout>
<TextView />
<TextView />
</FrameLayout>
であり、機能的にはこの単一レイアウトと同等である。
<FrameLayout>
<FrameLayout>
<TextView />
<TextView />
</FrameLayout>
</FrameLayout>
layout2.xmlのそのFrameLayoutは、役に立たないかもしれません。
<merge/>
はそれを取り除くのに役立ちます。 以下は、mergeを使ったときの様子です(layout1.xmlは変更されません)。
layout2.xml。
<merge>
<TextView />
<TextView />
</merge>
このレイアウトと機能的に同等です。
<FrameLayout>
<TextView />
<TextView />
</FrameLayout>
を使用していますが
<include/>
を使えば、そのレイアウトを他の場所で再利用することができます。 FrameLayoutsだけを置き換えるために使う必要はありません。ビューの見え方や動作に有用なものを追加していないレイアウトを置き換えるために使うことができます。
関連
-
[解決済み] Androidのgravityとlayout_gravityの違いは何ですか?
-
Android基本アプレット
-
[解決済み] match_parentとfill_parentの違いは何ですか?
-
[解決済み] アプリケーションを終了することは嫌われますか?
-
[解決済み] グリッドレイアウトにおけるフリングジェスチャーの検出
-
[解決済み] 既存のカスタムテーマでXMLのアクティビティのタイトルバーを非表示にする方法
-
[解決済み] APKファイルのリバースエンジニアリングを回避する方法
-
[解決済み] Gradle for Androidを使用して、外部のaarパッケージを手動でインクルードする方法
-
[解決済み】「px」、「dip」、「dp」、「sp」の違いは?
-
[解決済み] Intellij IDEA/Android Studioでマージルートタグを使用したレイアウトをプレビューする
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Android Studio を 3.6.3 にアップデートした後、構成 :classpath のアーティファクトをすべて解決できない。
-
cygwinのダウンロード、インストールチュートリアル、およびCDTの「makeプログラムがパスに見つからない」バグの解消
-
を作ってください。*** makeするルールがない エラーの原因、分析、解決策
-
エラー:未宣言の識別子(AS)の使用
-
GoogleMapと連携し、位置情報の取得が可能
-
Android TextViewにandroid:ellipsize=endのバグがある。
-
Android ProgressBarのスタイルカラーを変更する
-
Android Get set image.setImageResource(R.drawable.xxx) リソース
-
Androidカスタムドロップダウンリストボックスコントロール
-
アンドロイドにおけるトークンの利用