レイアウトの再利用

レイアウトの再利用

複数のレイアウトファイルで同じような配置がいくつもでてくる場合
その都度コードをコピペするとコード量が無駄に多くなる

この場合、共通する部分はレイアウトファイルを1つ作成して
includeで呼び出せば無駄が省ける

まずほ、再利用するレイアウトファイルを作成
ファイル名はinclude.xml

<LinearLayout
xmlns:android="http://scheams.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">

<TextView
android:layout_width="0dp"
android:layout_height="@dimen/layout_common_size_xlarge"
android:layout_weight="1"
android:background="@color/FlatLightCyan"
android:gravity="center"
android:text="再利用テスト"
android:textColor="@android:color/white"/>

<TextView
android:layout_width="0dp"
android:layout_height="@dimen/layout_common_size_xlarge"
android:layout_weight="1"
android:background="@color/FlatLightYellow"
android:gravity="center"
android:text="再利用テストその2"
android:textColor="@color/white"/>

<TextView
android:layout_width="0dp"
android:layout_height="@dimen/layout_common_size_xlarge"
android:layout_weight="1"
android:background="@color/FlatLightRed"
android:gravity="center"
android:text="再利用テストその3"
android:textColor="@android:color/white"/>

</LinearLayout>

これで、共通部分はできたので
次に個別のパーツ作成

このあたりはPHPとかでwordpressのテンプレートとかいじった経験あるとわかりやすい

これで、レイアウトファイルをincludeすると
再利用したいレイアウトファイルを任意の場所へ読み込める

<LinearLayout
xmlns:android="http://scheams.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">

<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/padding_small"
android:layout_marginTop="@dimen/padding_xlarge"
android:text="もともとのレイアウトファイル">

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

</LinearLayout>

これで、レイアウトファイルが組み込まれるようになる

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です