Androidの実戦経験のIncudeメモ



私達はプロジェクトをする時よく同じレイアウトの設計を使います.全部一つのxmlファイルに書いたら、コードが冗長に見えます.死に行くような感じがします.可読性も悪いです.
同じレイアウトのコードを単独で取り出して一つのxmlファイルに入れることができます.ラベルで再利用します.このように私達のコードは比較的清潔で、一目瞭然です.
読者はコードの全体レイアウトについて深く理解しています.
1 includeタグはlayout属性だけが必要です.2.includeタグがID属性を指定したら、あなたのlayoutもIDを定義したら、あなたのlayoutのIDが上書きされます. 
3 includeタグの中にあるすべてのandroid:layout*.すべて有効です
でも前提はlayout_を書かなければなりません.widthとlayout_ヘイトの二つの属性は無効です.
一例を見てください
main.xml
1
2
3
4
5
6
7
8
9
10
11<?xml version="1.0"encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="fill_parent"    android:layout_height="fill_parent"    android:orientation="vertical">        <include          android:id="@+id/include"        layout="@layout/other"/>    </LinearLayout> 
includeが引用するそのxml:other.xml
1
2
3
4
5
6
7
8
9
10
11
12<?xml version="1.0"encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="fill_parent"    android:layout_height="fill_parent"    android:orientation="vertical">        <ImageView         android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:src="@drawable/free_bg_small_3"/>    </LinearLayout>Include Activity.java
1
2
3
4
5
6
7
8
9
10
11
12
13package xiaosi.include;    import android.app.Activity; import android.os.Bundle;    public classIncludeActivity extendsActivity {     /** Called when the activity is first created. */    @Override    publicvoidonCreate(Bundle savedInstanceState) {         super.onCreate(savedInstanceState);         setContentView(R.layout.main);     } }