setContentView:
1.常用的建構函式:
1)setContentView(int layoutResID)
2)setContentView(View view)
3)setContentView(View view, ViewGroup.LayoutParams params)
2.用法
1)setContentView(R.layout.main);
2)LayoutInflater inflater = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View view = (View) inflater.inflate(R.layout.apploader, null, true);
setContentView(view);
3.兩種用法的適用情境:
setContentView()一旦調用, layout就會立刻顯示UI;而inflate只會把Layout形成一個以view類實現成的對象,有需要時再用setContentView(view)顯示出來。
一般在activity中通過setContentView()將介面顯示出來,但是如果要在非activity中如何對控制項布局進行設定作業,就需LayoutInflater動態載入。
LayoutInflater:
獲得 LayoutInflater 執行個體的三種方式
1. LayoutInflater inflater = getLayoutInflater(); //調用Activity的getLayoutInflater()
2. LayoutInflater localinflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
3. LayoutInflater inflater = LayoutInflater.from(context);
其實,這三種方式本質是相同的,從源碼中可以得出結論:這三種方式最終本質是都是調用的Context.getSystemService()。