概述
解釋如下:
inflate()的作用就是將一個(gè)用xml定義的布局文件查找出來掖桦,注意與findViewById()的區(qū)別词爬,inflate是加載一個(gè)布局文件永乌,而findViewById則是從布局文件中查找一個(gè)控件吨述。
使用
假設(shè)當(dāng)前上下文環(huán)境為 context
-
獲取LayoutInflater的方法
LayoutInflater inflater = LayoutInflater.from(context);LayoutInflater inflater = getLayoutInflater(); LayoutInflater inflater = context.getSystemService(LAYOUT_INFLATER_SERVICE);
-
關(guān)于LayoutInflater類inflate(int resource, ViewGroup root, boolean attachToRoot)方法三個(gè)參數(shù)的含義
- resource:需要加載布局文件的id橙弱,意思是需要將這個(gè)布局文件中加到Activity中來操作歧寺。
- root:需要附加到resource資源文件的根控件,什么意思呢棘脐,就是inflate()會(huì)返回一個(gè)View對象斜筐,如果第三個(gè)參數(shù)attachToRoot為true,就將這個(gè)root作為根對象返回蛀缝,否則僅僅將這個(gè)root對象的LayoutParams屬性附加到resource對象的根布局對象上顷链,也就是布局文件resource的最外層的View上,比如是一個(gè)LinearLayout或者其它的Layout對象屈梁。
- attachToRoot:是否將root附加到布局文件的根視圖上