LayerDrawable

介紹

    public class LayerDrawable  extends Drawable implements Drawable.Callback

android.graphics.drawable.LayerDrawable

父類

| android.graphics.drawable.Drawable |

其他Draw文章參考:
Android中Drawable整體介紹

前言

管理一系列其他Drawable的Drawable囚戚。 這些按照數(shù)組順序繪制,所以具有最大索引的元素將被繪制在最上面尝丐。最大索引就是最后一個item

它可以使用<layer-list>元素在XML文件中定義侥衬。 圖層中的每個Drawable都是在一個嵌套的<item>中定義的踢代。

下面的item會覆蓋上面的item寞冯。抽象來說钞艇,就是第一個item放好了之后铲掐,就相當(dāng)于這個layterDrawable基礎(chǔ)有了譬猫,別的就是往上疊讯檐,能看見啥不能看見啥可以按照搭積木一樣想象來看。

XML的使用

LayerDrawable 是管理其他可繪制對象陣列的可繪制對象染服。列表中的每個可繪制對象按照列表的順序繪制别洪,列表中的最后一個可繪制對象繪于頂部。

每個可繪制對象由單一 <layer-list> 元素內(nèi)的 <item> 元素表示柳刮。

<?xml version="1.0" encoding="utf-8"?>
<layer-list
    xmlns:android="http://schemas.android.com/apk/res/android" >
    <item
        android:drawable="@[package:]drawable/drawable_resource"
        android:id="@[+][package:]id/resource_name"
        android:top="dimension"
        android:right="dimension"
        android:bottom="dimension"
        android:left="dimension" />
</layer-list>

(1)layer-list 標(biāo)簽
里面那些英文沒翻譯的挖垛,是因為自己不知道有啥用。

<layer-list>
必備秉颗。這必須是根元素痢毒。包含一個或多個 <item> 元素。
屬性:

xmlns:android
字符串蚕甥。必備伸但。定義 XML 命名空間檬某,其必須是 "http://schemas.android.com/apk/res/android"。

android:paddingBottom   
Explicit bottom padding. 

android:paddingEnd
Explicit end padding. 

android:paddingLeft 
Explicit left padding. 

android:paddingMode 
Indicates how layer padding should affect the bounds of subsequent layers. 

android:paddingRight    
Explicit right padding. 

android:paddingStart    
Explicit start padding. 

android:paddingTop  
Explicit top padding. 

(2)item

<item>
定義要放在圖層可繪制對象中由其屬性定義的位置的可繪制對象。必須是 <selector> 元素的子項倍权。接受子 <bitmap> 元素喇嘱。
屬性:

android:drawable
可繪制對象資源否灾。必備奸攻。引用可繪制對象資源。

android:id
資源 ID呼伸。此可繪制對象的唯一資源 ID身冀。要為此項新建資源 ID,請使用以下形式:"@+id/name"。加號表示應(yīng)創(chuàng)建為新 ID搂根。
可以使用此 ID 檢索和修改具有 View.findViewById() 或 Activity.findViewById() 的可繪制對象蝶怔。

android:top
整型。頂部偏移(像素)兄墅。

android:right
整型。右邊偏移(像素)澳叉。

android:bottom
整型隙咸。底部偏移(像素)。

android:left
整型成洗。左邊偏移(像素)五督。Left inset to apply to the layer.

上面的屬性翻譯成偏移,不如理解為:LayerDrawable在繪制這一層item的時候瓶殃,給當(dāng)前item留相對于上一層的空間

android:height  
Height of the layer. 

android:end
最后插入    

android:gravity 
Gravity used to align the layer within its container. 

android:start   
Start inset to apply to the layer. 

android:top 
Top inset to apply to the layer. 

android:width   
Width of the layer. 



(3)
默認(rèn)情況下充包,所有可繪制項都會縮放以適應(yīng)包含視圖的大小。因此遥椿,將圖像放在圖層列表中的不同位置可能會增大視圖的大小基矮,并且有些圖像會相應(yīng)地縮放。為避免縮放列表中的項目冠场,請在 <item> 元素內(nèi)使用 <bitmap> 元素指定可繪制對象家浇,

<item android:drawable="@drawable/image" />

并且對某些不縮放的項目(例如 "center")定義重力。例如碴裙,以下 <item> 定義縮放以適應(yīng)其容器視圖的項目:

<item>
  <bitmap android:src="@drawable/image"
          android:gravity="center" />
</item>
示例:

定義文件一:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <bitmap android:src="@drawable/ic_launcher"
                android:gravity="left" />
    </item>
    <item android:top="10dp" android:left="10dp">
        <bitmap android:src="@drawable/ic_launcher"
                android:gravity="left" />
    </item>
    <item android:top="20dp" android:left="20dp">
        <bitmap android:src="@drawable/ic_launcher"
                android:gravity="left" />
    </item>
</layer-list>

結(jié)果:


image.png

定義文件二:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">

    <item
        android:drawable="@drawable/ic_launcher"
        >
    </item>
    <item android:top="10dp" android:left="10dp"
          android:drawable="@drawable/ic_launcher">
    </item>
    <item android:top="20dp" android:left="20dp"
          android:drawable="@drawable/ic_launcher">

    </item>
</layer-list>

結(jié)果


image.png

定義文件三:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"
    >
    <item
        >
        <bitmap android:src="@drawable/ic_launcher"
                 />
    </item>
    <item >
        <bitmap android:src="@drawable/ic_launcher"
                 />
    </item>
    <item android:top="20dp" android:left="20dp"
        >
        <bitmap android:src="@drawable/ic_launcher"
                 />
    </item>
</layer-list>

結(jié)果:
因為定義了android:top之類的钢悲,那么默認(rèn)的圖片就會相應(yīng)的縮放。


image.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末舔株,一起剝皮案震驚了整個濱河市莺琳,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌载慈,老刑警劉巖惭等,帶你破解...
    沈念sama閱讀 211,123評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異办铡,居然都是意外死亡咕缎,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,031評論 2 384
  • 文/潘曉璐 我一進(jìn)店門料扰,熙熙樓的掌柜王于貴愁眉苦臉地迎上來凭豪,“玉大人,你說我怎么就攤上這事晒杈∩┥。” “怎么了?”我有些...
    開封第一講書人閱讀 156,723評論 0 345
  • 文/不壞的土叔 我叫張陵,是天一觀的道長帖努。 經(jīng)常有香客問我撰豺,道長,這世上最難降的妖魔是什么拼余? 我笑而不...
    開封第一講書人閱讀 56,357評論 1 283
  • 正文 為了忘掉前任污桦,我火速辦了婚禮,結(jié)果婚禮上匙监,老公的妹妹穿的比我還像新娘凡橱。我一直安慰自己,他們只是感情好亭姥,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,412評論 5 384
  • 文/花漫 我一把揭開白布稼钩。 她就那樣靜靜地躺著,像睡著了一般达罗。 火紅的嫁衣襯著肌膚如雪坝撑。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,760評論 1 289
  • 那天粮揉,我揣著相機(jī)與錄音巡李,去河邊找鬼。 笑死扶认,一個胖子當(dāng)著我的面吹牛击儡,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播蝠引,決...
    沈念sama閱讀 38,904評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼阳谍,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了螃概?” 一聲冷哼從身側(cè)響起矫夯,我...
    開封第一講書人閱讀 37,672評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎吊洼,沒想到半個月后训貌,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,118評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡冒窍,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,456評論 2 325
  • 正文 我和宋清朗相戀三年递沪,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片综液。...
    茶點(diǎn)故事閱讀 38,599評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡款慨,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出谬莹,到底是詐尸還是另有隱情檩奠,我是刑警寧澤桩了,帶...
    沈念sama閱讀 34,264評論 4 328
  • 正文 年R本政府宣布,位于F島的核電站埠戳,受9級特大地震影響井誉,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜整胃,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,857評論 3 312
  • 文/蒙蒙 一颗圣、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧屁使,春花似錦在岂、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,731評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽应狱。三九已至共郭,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間疾呻,已是汗流浹背除嘹。 一陣腳步聲響...
    開封第一講書人閱讀 31,956評論 1 264
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留岸蜗,地道東北人尉咕。 一個月前我還...
    沈念sama閱讀 46,286評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像璃岳,于是被迫代替她去往敵國和親年缎。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,465評論 2 348

推薦閱讀更多精彩內(nèi)容