自定義View

一、LayoutInflater的工作原理

加載佈局:

  1. 實例化:LayoutInflater.from(context)

  2. 調用inflate() 加載佈局:layoutInflater.inflate(resourceId,root)

    1. resourceId:要加載的佈局Id

    2. root:在該佈局外再嵌套一層父佈局,不需要則傳null

  3. addView()用於爲佈局添加多個View

 

注意事項:

嵌入主佈局的小布局xml中,最外層是沒有辦法設置layout_width、layout_height的,因爲這些參數都是相對於父佈局來說的。平時創建的佈局其實是在最外層在嵌套一個FrameLyout,可通過getParent() 獲取父佈局驗證。

二、視圖狀態:

setEnable()   傳入true可用,false不可用

requestFocus()    獲取焦點

window_focused()   當前視圖是否處於正在交互的窗口

setSelected()    當前視圖是否處於選中狀態,決定於傳入true、false

setPressed()    當前視圖是否處於按下狀態

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章