從inflate方法開始,搞懂LayoutInflater的inflate過程(上)
本來是完整一份的,結果一頁寫不下,分頁,感覺知乎顯示效果不行,來,點我博客查看
本文主要介紹:LayoutInflater
本文適合對象:打算搞懂LayoutInflater的inflate的開發者 本文字數:約2.5萬,閱讀時間:約2H
問題
先從表象入手
在Android開發過程中,很多地方都不可避免的使用到inflate方法,如在使用RecycleView
的時候構建ViewHolder
對象,給Fragment
進行CreateView
我們通常是inflater.inflate(R.layout.xxx, container, false)
或者LayoutInflater.from(parent.context).inflate(R.layout.xxx, parent, false)
來調用inflate方法的,不難發現,inflate方法的作用是將一個 xml 布局文件變成一個 view 對象。然而僅僅是根據模板,按照固定的"規律"去修改某些參數來實現目標,只能叫做是「使用」而已
那麼,我們就來將它「分解」成明確的「問題」,來具體的「學習」吧
LayoutInflater
、inflater
這些語句的「頭部」是什麼?怎麼來的?
inflate
方法的「參數」是什麼意思,有什麼用?
- 這些語句是怎麼實現轉換 xml 為 view 的?
- 我除了常見的用法還能怎麼用它
Question One:「頭部」
官方文檔
思考的First Step,問其所來
官方文檔對LayoutInflater
的說明如下:
TAG:Android開發 |