レイアウトの旅
レイアウトをどこで設定して、どこで読み取って、どこでインスタンス化しているのかの話。
Inflate
インフレ・デフレという言葉が示すように、Inflateとはなにかをでっかくすることだ。ジンバブエな。 
AndroidでInflateといえば、レイアウトデータをレイアウトインスタンスにふくらませることだ。
レイアウトデータ
レイアウトデータはxmlだ。 
xmlはHTMLで触れたことある?あるな?よっしゃ、
<LinearLayout
    android:layout_width="wrap_content" 
    ... >
   <TextView 
       android:text="Hello Big Gorilla!" 
       ... />
</<LinearLayout>
こんなかんじ。それを
  GorillaProject/res/layout/my_cool_layout.xml
のような場所にいい感じの名前で格納する。 
(ファイル名として使える文字に厳しい制限があるゾ)
レイアウトインスタンス
View root = inflater.inflate(R.layout.my_cool_layout);
inflaterってなに?というキミの当然浮かぶであろう疑問は無視するとして、これによってrootには先のレイアウトデータで定義したなかの「最も親のView」 = LinearLayoutのインスタンスが格納される。
そう、LinearLayoutのインスタンスだ。だから、
LinearLayout layout = (LinearLayout) root;
ができる。
inflateでは、xmlファイルという指示書に従って、Viewのインスタンスをnewしていくというわけだ。
Inflateなんてないじゃん
あるActivityでは、こんなふうに書かれている。
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.my_cool_layout);
}
こういうときはsetContentViewのなかでInflate処理しているんだよ。大丈夫。 
Inflateを内部的に呼び出している関数はたくさんあるよ。