中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Android?LayerDrawable怎么使用

發布時間:2022-11-07 10:29:24 來源:億速云 閱讀:108 作者:iii 欄目:開發技術

這篇文章主要介紹“Android LayerDrawable怎么使用”,在日常操作中,相信很多人在Android LayerDrawable怎么使用問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Android LayerDrawable怎么使用”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

1. 前言

Android LayerDrawble 包含一個Drawable數組,系統將會按照這些Drawable對象的數組順序來繪制他們,索引最大的 Drawable 對象將會被繪制在最上面。

LayerDrawable對象的xml文件的根元素是<layer-list>, 該元素內部包含多個<item>。item標簽內部可以指定drawable、id和位置相關屬性。

layer-list可以進一步擴展對shape和selector的使用,對layer-list可以這樣簡單的來理解,使用它可以將多個圖片疊加起來,可以將用shape和selector實現的效果疊加起來

2. 實例

該控件比較使用比較簡單,我們直接通過例子來演示

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怎么使用”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宁阳县| 正宁县| 谢通门县| 淮北市| 确山县| 沧源| 富民县| 阜南县| 浦江县| 汝南县| 澄城县| 南部县| 达拉特旗| 军事| 鹤岗市| 修武县| 天峻县| 仙居县| 文山县| 临城县| 汾阳市| 正阳县| 公安县| 眉山市| 湘阴县| 高州市| 平邑县| 林州市| 安庆市| 安达市| 芮城县| 朝阳区| 华蓥市| 安化县| 太和县| 黄陵县| 涪陵区| 崇明县| 葵青区| 西峡县| 巴青县|