public view inflate (int resource, viewgroup root, boolean attachtoroot)
resource :需要載入的layout的xml資源
root : 表示獲得容器檢視物件後,要將獲得的該物件新增到哪個容器檢視物件中, 如果不想將要獲得的物件新增到任何其他容器中 則為null
attachtoroot : 是否和root關聯
注意: 如果root被提供而且attachtoroot為true的話,在把新生成的view連線到root,返回root.否者返回的是新生成的view.
如果root被提供但attachtoroot為false的話,root只是把它的layoutparams引數給新生成的view用,不會把新生成的view連線到root . 當然返回的是新生成的view
對於第三個引數請看如下實驗:
main.xml:
<?xml version="1.0" encoding="utf-8"?>
ffff.xml:
<?xml version="1.0" encoding="utf-8"?>
activity 中的部分**:
setcontentview(r.layout.main);
viewgroup v = (viewgroup) findviewbyid(r.id.ffff);
view vv = layoutinflater.from(this).inflate(r.layout.ffff, v);
效果如下:
檢視層次結構如下:
如activity**為:
view vv = layoutinflater.from(this).inflate(r.layout.ffff, v, false);
效果如下:
層次結構如下:
如果activity中的**如下:
viewgroup v = (viewgroup) findviewbyid(r.id.ffff);
view vv = layoutinflater.from(this).inflate(r.layout.ffff, v, false);
v.addview(vv);
效果如下:
inflate中三個引數的含義
inflate三個引數如下 public view inflate layoutres int resource,nullable viewgroup root,boolean attachtoroot 第乙個引數是指定要加入父布局的布局檔案,第二個引數是檢視的父檢視,第三個告知布局生成器是否將生成...
android中的 inflate是什麼意思
inflate 的作用就是將乙個用xml定義的布局檔案查詢出來,注意與findviewbyid 的區別,inflate是載入乙個布局檔案,而findviewbyid則是從布局檔案中查詢乙個控制項。1.獲取layoutinflater物件有三種方法 layoutinflater inflater la...
inflate獲取view 的幾種方法
通俗的說,inflate就相當於將乙個xml中定義的布局找出來.因為在乙個activity裡如果直接用findviewbyid 的話,對應的是setconentview 的那個layout裡的元件.因此如果你的activity裡如果用到別的layout,比如對話方塊上的layout,你還要設定對話方...