Android之Inflate 方法用途

2021-07-15 02:08:12 字數 898 閱讀 7302

inflate()作用就是將xml定義的乙個布局找出來,但僅僅是找出來而且隱藏的,沒有找到的同時並顯示功能。最近做的乙個專案就是這一點讓我迷茫了好幾天。

android上還有乙個與inflate()類似功能的方法叫findviewbyid(),二者有時均可使用,但也有區別

區別在於:

如果你的activity裡用到別的layout,比如對話方塊layout,你還要設定這個layout上的其他元件的內容,你就必須用inflate()方法先將對話方塊的layout找出來,然後再用findviewbyid()找到它上面的其它元件。例如:

[html]view plain

copy

view 

view1

=view

.inflate(this,r.layout.dialog_layout,null);  

textviewdialogtv

=(textview)view1.findviewbyid(r.id.dialog_tv);  

dialogtv.settext("abcd");  

注:r.id.dialog_tv是在對話方塊layout上的元件,而這時若直接用

this.findviewbyid(r.id.dialog_tv)肯定會報錯。

[html]view plain

copy

view 

viewstub

= ((viewstub) findviewbyid(r.id.stubview)).inflate();  

inflate()或可理解為「隱性膨脹」,隱性擺放在view裡,inflate()前只是獲得控制項,但沒有大小沒有在view裡佔據空間,inflate()後有一定大小,只是出於隱藏狀態

Android之Inflate 方法用途

inflate 作用就是將xml定義的乙個布局找出來,但僅僅是找出來而且隱藏的,沒有找到的同時並顯示功能。最近做的乙個專案就是這一點讓我迷茫了好幾天。android上還有乙個與inflate 類似功能的方法叫findviewbyid 二者有時均可使用,但也有區別 區別在於 如果你的activity裡...

Android之Inflate 方法用途

inflate 作用就是將xml定義的乙個布局找出來,但僅僅是找出來而且隱藏的,沒有找到的同時並顯示功能。最近做的乙個專案就是這一點讓我迷茫了好幾天。android上還有乙個與inflate 類似功能的方法叫findviewbyid 二者有時均可使用,但也有區別 區別在於 如果你的activity裡...

Android之Inflate 方法用途

inflate 作用就是將xml定義的乙個布局找出來,但僅僅是找出來而且隱藏的,沒有找到的同時並顯示功能。最近做的乙個專案就是這一點讓我迷茫了好幾天。android上還有乙個與inflate 類似功能的方法叫findviewbyid 二者有時均可使用,但也有區別 區別在於 如果你的activity裡...