Android用<br>レイアウトの多重化/再利用
2778 ワード
Android用多重化/再利用レイアウト
で他のレイアウトファイルを埋め込む
ラベルをルートとして使用し、
ラベルは、1つのレイアウトに別のレイアウトが含まれている場合に、ビュー階層で余分なビューグループを除去するのに役立ちます.メインレイアウトが垂直構造のLinearLayoutに他のレイアウトで再利用可能な2つの連続したビューが含まれている場合、レイアウトに配置された2つの再利用可能なビューにはそれぞれのルートビューが必要であり、別のLinearLayoutを使用して再利用可能なビューのルートビューとして使用する場合、垂直構造のLinearLayoutが別の垂直構造のLinearLayoutにネストされ、ネストされたLinearLayoutはUIのレンダリング速度を遅くする以外に実際の役割を果たしません.このような状況を回避するために、再利用可能なレイアウトコンポーネントのルートビューとしてラベルを使用することができます.ラベルを使用してレイアウトに追加され、Androidシステムはラベルを気にせず、2つのButtonをレイアウトに直接配置し、不要なネストを回避します.また、はレイアウトのルートノードとしてのみ使用可能であり、他のレイアウトコンポーネントを含むレイアウト自体がをルートノードとする必要がある場合は、インポートされたxml layoutをviewGroupに配置するとともにattachToRootをTrueとする必要がある
<LinearLayout xmlns:android ="http://schemas.android.com/apk/res/android"
xmlns:tools= "http://schemas.android.com/tools"
android:layout_width = "match_parent"
android:layout_height= "match_parent"
android:paddingBottom= "@dimen/activity_vertical_margin"
android:paddingLeft= "@dimen/activity_horizontal_margin"
android:paddingRight= "@dimen/activity_horizontal_margin"
android:paddingTop= "@dimen/activity_vertical_margin"
tools:context = ".MainActivity"
android:orientation = "vertical" >
<include layout= "@layout/titlebar">
<TextView
android:layout_width ="wrap_content"
android:layout_height ="wrap_content"
android:text ="@string/hello_world" >
< LinearLayout>
現在のレイアウトで再利用コンポーネントのandroid:layout_*を再書き込みすることもできます.ツールバーの<include
android:id ="@+id/news_title"
android:layout_width ="match_parent"
android:layout_height ="match_parent"
layout= "@layout/titlebar" >
<merge xmlns:android="http://schemas.android.com/apk/res/android">
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/add">
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/delete">
<merge>
も同様に