您好,登錄后才能下訂單哦!
這篇文章主要介紹“Android LayerDrawable怎么使用”,在日常操作中,相信很多人在Android LayerDrawable怎么使用問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Android LayerDrawable怎么使用”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
Android LayerDrawble 包含一個Drawable數組,系統將會按照這些Drawable對象的數組順序來繪制他們,索引最大的 Drawable 對象將會被繪制在最上面。
LayerDrawable對象的xml文件的根元素是<layer-list>, 該元素內部包含多個<item>。item標簽內部可以指定drawable、id和位置相關屬性。
layer-list可以進一步擴展對shape和selector的使用,對layer-list可以這樣簡單的來理解,使用它可以將多個圖片疊加起來,可以將用shape和selector實現的效果疊加起來
該控件比較使用比較簡單,我們直接通過例子來演示
activity_main.xml ,有三個ImageView 對象:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity" android:orientation="vertical"> <ImageView android:layout_marginTop="10dp" android:layout_width="150dp" android:layout_height="150dp" android:background="@drawable/layer_test" /> <ImageView android:layout_marginTop="10dp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/layer_icon" /> <ImageView android:layout_marginTop="10dp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/layer_icon2" /> </LinearLayout>
1. 第一個 ImageView 我們定義好 寬度和高度 150dp, 看看里面的內容:
<?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item> <shape android:shape="rectangle"> <solid android:color="#0000ff"/> </shape> </item> <item android:left="15dp" android:end="15dp" android:top="15dp" android:bottom="15dp"> <shape android:shape="oval"> <size android:height="10dp" android:width="10dp"/> <solid android:color="#00ff00"/> </shape> </item> <item android:left="45dp" android:end="45dp" android:top="45dp" android:bottom="45dp"> <shape android:shape="rectangle"> <solid android:color="#ff0000"/> </shape> </item> </layer-list>
說說 item的4個屬性,作用同控件中的margin屬性
android:top 頂部的偏移量
android:bottom 底部的偏移量
android:left 左邊的偏移量
android:right 右邊的偏移量
我們定義的ImageView的寬高150dp ,
第一個item 矩形框 在最底層,鋪滿整個寬高
第二個item為圓形,距離ImageView容器的top bottom left right 邊距離為 15dp
注意:圓形定義的<size android:height="10dp" android:width="10dp"/>這里是不生效的,是以容器寬高150dp為基準, 上下左右偏移15dp后繪制出來
第三個item為矩形,距離ImageView容器的top bottom left right 邊距離為 45dp
2. 第2個ImageView,不定義寬高,讓里面圖片去填充顯示:
<?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item> <shape android:shape="rectangle"> <size android:width="50dp" android:height="50dp"/> <solid android:color="#0000ff"/> </shape> </item> <item> <shape android:shape="rectangle"> <size android:width="80dp" android:height="80dp"/> <solid android:color="#ff0000"/> </shape> </item> <item android:left="15dp" android:end="15dp" android:top="15dp" android:bottom="15dp"> <shape android:shape="oval"> <solid android:color="#00ff00"/> </shape> </item> </layer-list>
第一個item為矩形,寬高為 50dp
第二個item也為矩形, 寬高為80dp 那么根據顯示規則,后面的item顯示在上面,所以整個ImageView的寬高變為 80dp了
第三個item為圓形,通過第一和第二個顯示規則,此時的ImageView的寬高為80dp, 然后距離ImageView容器的top bottom left right 邊距離15dp 繪制出來
3. 第三種,通過層視圖顯示陰影效果
<?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item> <shape android:shape="rectangle"> <size android:width="100dp" android:height="20dp"></size> <solid android:color="#000"></solid> <corners android:radius="10dp"></corners> </shape> </item> <item android:left="3dp" android:bottom="3dp"> <shape android:shape="rectangle"> <solid android:color="#f7f6f6"></solid> <corners android:radius="10dp"></corners> </shape> </item> </layer-list>
到此,關于“Android LayerDrawable怎么使用”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。