您好,登錄后才能下訂單哦!
這篇文章主要講解了“layer-list的原理和作用”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“layer-list的原理和作用”吧!
layer-list 是什么
簡單理解,layer 是層,list 是列表,那么 layer-list 就是層列表的意思。但是,是什么層列表呢?? 其實 layer-list 是用來創建 LayerDrawable 的,LayerDrawable 是 DrawableResource 的一種, 所以,layer-list 創建出來的是 圖層列表,也就是一個drawable 圖形。
layer-list 有什么作用?
上面已經說過,layer-list 是用來創建 圖層列表的,通過它能創建出一些特殊的 drawable, 比如:
下圖 AlertDialog 中,我們只需要設置 button 的 頂部邊線,以及 左側button的右邊線(或者右側button的左邊線),這種時候我們就無法直接使用 shape 了,因為直接使用 shape 繪制出來的是四個邊框; 如果讓美工切圖也可以,但那樣的話靈活度就差了很多,而且會增加app的體積;這種情況下,使用 layer-list 就是最佳選擇。當然,layer-list 的用途還有很多,這里只是舉一個例子,具體的使用請繼續往下看。
layer-list 原理
layer-list 的大致原理類似 RelativeLayout(或者FrameLayout) ,也是一層層的疊加 ,后添加的會覆蓋先添加的。在 layer-list 中可以通過 控制后添加圖層距離最底部圖層的 左上右下的四個邊距等屬性,得到不同的顯示效果。
上面示例圖中,AlertDialog 底部的 ok按鈕 的背景就是用layer-list實現的。該layer-list 中,底層使用一個填充色為藍色 的shape,上層使用一個填充色為白色的shape ,然后控制上層距離最底層的頂部邊距為1dp , 這樣在視覺上就形成了一個 具有藍色頂部邊線的白色背景。具體代碼繼續往下看。
layer-list 基本使用示例:
因 layer-list 創建出來的也是 drawable 資源,所以,同 shape selector 一樣,都是定義在 res 中的 drawable 文件夾中,也是一個 xml 文件。使用的時候,同shape selector , 布局文件中使用 @drawable/ xxx 引用, 代碼中使用 R.drawable.xxx 引用。
layer-list 中不同的圖層使用 item 節點來定義。
注意:
在 RadioGroup 中,是通過 RadioButton 的 id 來控制是否選中。
所以,如果需要設置某一個 RadioButton 為默認選中,就必須給該 RadioButton 設置 id ;
如果不設置 id ,導致的結果就是該 RadioButton 會一直處于選中狀態!!!
感謝各位的閱讀,以上就是“layer-list的原理和作用”的內容了,經過本文的學習后,相信大家對layer-list的原理和作用這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。