android LayoutInflater.inflate()的參數及其用法

很多人在網上問LayoutInflater類的用法,以及inflate()方法參數的含義,現解釋如下:

inflate()的作用就是將一個用xml定義的佈局文件查找出來,注意與findViewById()的區別,inflate是加載一個佈局文件,而findViewById則是從佈局文件中查找一個控件。


1.獲取LayoutInflater對象有三種方法

LayoutInflater inflater=LayoutInflater.from(this);
LayoutInflater inflater=getLayoutInflater();
LayoutInflater inflater=(LayoutInflater)this.getSystemService(LAYOUT_INFLATER_SERVICE);


2.關於LayoutInflater類inflate(int resource, ViewGroup root, boolean attachToRoot)方法三個參數的含義

resource:需要加載佈局文件的id,意思是需要將這個佈局文件中加載到Activity中來操作。

root:需要附加到resource資源文件的根控件,什麼意思呢,就是inflate()會返回一個View對象,如果第三個參數attachToRoot爲true,就將這個root作爲根對象返回,否則僅僅將這個root對象的LayoutParams屬性附加到resource對象的根佈局對象上,也就是佈局文件resource的最外層的View上,比如是一個LinearLayout或者其它的Layout對象。

attachToRoot:是否將root附加到佈局文件的根視圖上

這就是我的理解,如有不明白或者有誤,請廣大網友給我留言,共同進步!

發佈了20 篇原創文章 · 獲贊 10 · 訪問量 34萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章