inflate中的引數

2021-06-21 20:14:38 字數 1597 閱讀 5589

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,你還要設定對話方...