Drawable子類之——ClipDrawable (裁剪圖像)

本文出自 “阿敏其人” 簡(jiǎn)書博客咖摹,轉(zhuǎn)載或引用請(qǐng)注明出處。

ClipDrawable對(duì)應(yīng)的標(biāo)簽是<clip>,它可以根據(jù)自己的當(dāng)前的level來裁剪一個(gè)Drawable剩晴。
主要是利用 clipOrientation(垂直/水平) 和 gravity(多種可選的方向),兩者結(jié)合使用侵状。

一赞弥、語(yǔ)法

<?xml version="1.0" encoding="utf-8"?>
<clip
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:drawable="@drawable/drawable_resource"
    android:clipOrientation=["horizontal" | "vertical"]
    android:gravity=["top" | "bottom" | "left" | "right" | "center_vertical" |
                     "fill_vertical" | "center_horizontal" | "fill_horizontal" |
                     "center" | "fill" | "clip_vertical" | "clip_horizontal"] />

主要關(guān)注兩個(gè)節(jié)點(diǎn),一個(gè)android:clipOrientation只有垂直和水平可選
android:gravity可選的就多啦

選項(xiàng) 作用
top 將內(nèi)部的Drawable放在容器的頂部趣兄,不改變它的大小绽左,如果為豎直裁剪,那么從底部開始裁剪
bottom 將內(nèi)部的Drawable放在容器的底部艇潭,不改變它的大小妇菱,如果為豎直裁剪,那么從頂部開始裁剪
left 將內(nèi)部的Drawable放在容器的左部暴区,不改變它的大小闯团,如果為水平裁剪,那么從右邊開始裁剪仙粱,這就是默認(rèn)值
right 將內(nèi)部的Drawable放在容器的右部房交,不改變它的大小,如果為水平裁剪伐割,那么從左邊開始裁剪
center_vertica l 內(nèi)部的Drawable在垂直方向上填充容器候味,如果是垂直裁剪,那么僅當(dāng)ClipDrawable等級(jí)為0的時(shí)候隔心,才能有裁剪行為
center_horizontal 使內(nèi)部的Drawable在容器中水平居中白群,不改變它的大小,如果為水平裁剪硬霍,那么僅當(dāng)ClipDrawable的等級(jí)為0時(shí)帜慢,才能有裁剪行為
center 是內(nèi)部的Drawable在容器中水平和豎直方向都居中,不改變大小,如果為處置裁剪粱玲,那么從上下同時(shí)開始裁剪躬柬;如果為水平裁剪,那么左右同時(shí)開始裁剪
fill 使內(nèi)部的Drawable在水平和垂直方向上同時(shí)填充容器抽减,僅當(dāng)ClipDrawable的等級(jí)為0時(shí)允青,才能有裁剪行為
clip_vertocal 附加選項(xiàng),表示垂直方向的裁剪卵沉,較少使用
clip_horizoltal 附加選項(xiàng)颠锉,表示水平方向的裁剪,較少使用

二史汗、demo

clipdrawable_simple.xml

<?xml version="1.0" encoding="utf-8"?>
<clip xmlns:android="http://schemas.android.com/apk/res/android"
    android:drawable="@mipmap/star"
    android:clipOrientation="horizontal"
    android:gravity="bottom">
</clip>

.
.
布局

<?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"
    android:orientation="vertical"
    tools:context=".MainActivity">

    <ImageView
        android:layout_width="200dp"
        android:layout_height="200dp"
        android:background="@mipmap/star"
        android:layout_marginBottom="20dp"/>


    <ImageView
        android:id="@+id/mIvClip"
        android:layout_width="200dp"
        android:layout_height="200dp"
        android:background="@drawable/clipdrawable_simple"
        />
</LinearLayout>


.
.
代碼


import android.app.Activity;
import android.graphics.drawable.ClipDrawable;
import android.os.Bundle;
import android.widget.ImageView;

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        ImageView imageView = (ImageView) findViewById(R.id.mIvClip);
        //ClipDrawable clipDrawable = (ClipDrawable) imageView.getDrawable(); 這樣寫會(huì)報(bào)空指針異常
        ClipDrawable clipDrawable = (ClipDrawable) imageView.getBackground();
        clipDrawable.setLevel(5000);

    }
}

.
.
效果展示

效果展示.png

了解更多的Drawable分類 Drawable圖像資源抽象類
本篇完

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末木柬,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子淹办,更是在濱河造成了極大的恐慌眉枕,老刑警劉巖,帶你破解...
    沈念sama閱讀 207,248評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件怜森,死亡現(xiàn)場(chǎng)離奇詭異速挑,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)副硅,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,681評(píng)論 2 381
  • 文/潘曉璐 我一進(jìn)店門姥宝,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人恐疲,你說我怎么就攤上這事腊满。” “怎么了培己?”我有些...
    開封第一講書人閱讀 153,443評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵碳蛋,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我省咨,道長(zhǎng)肃弟,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,475評(píng)論 1 279
  • 正文 為了忘掉前任零蓉,我火速辦了婚禮笤受,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘敌蜂。我一直安慰自己箩兽,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,458評(píng)論 5 374
  • 文/花漫 我一把揭開白布章喉。 她就那樣靜靜地躺著汗贫,像睡著了一般身坐。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上芳绩,一...
    開封第一講書人閱讀 49,185評(píng)論 1 284
  • 那天,我揣著相機(jī)與錄音撞反,去河邊找鬼妥色。 笑死,一個(gè)胖子當(dāng)著我的面吹牛遏片,可吹牛的內(nèi)容都是我干的嘹害。 我是一名探鬼主播,決...
    沈念sama閱讀 38,451評(píng)論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼吮便,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼笔呀!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起髓需,我...
    開封第一講書人閱讀 37,112評(píng)論 0 261
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤许师,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后僚匆,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體微渠,經(jīng)...
    沈念sama閱讀 43,609評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,083評(píng)論 2 325
  • 正文 我和宋清朗相戀三年咧擂,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了逞盆。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,163評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡松申,死狀恐怖云芦,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情贸桶,我是刑警寧澤舅逸,帶...
    沈念sama閱讀 33,803評(píng)論 4 323
  • 正文 年R本政府宣布,位于F島的核電站皇筛,受9級(jí)特大地震影響堡赔,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜设联,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,357評(píng)論 3 307
  • 文/蒙蒙 一善已、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧离例,春花似錦换团、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,357評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)的猛。三九已至,卻和暖如春想虎,著一層夾襖步出監(jiān)牢的瞬間卦尊,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,590評(píng)論 1 261
  • 我被黑心中介騙來泰國(guó)打工舌厨, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留岂却,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,636評(píng)論 2 355
  • 正文 我出身青樓裙椭,卻偏偏與公主長(zhǎng)得像躏哩,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子揉燃,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,925評(píng)論 2 344

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

  • 轉(zhuǎn)載自Keegan小鋼并標(biāo)明原文鏈接:http://keeganlee.me/post/android/20150...
    堅(jiān)持編程_lyz閱讀 1,112評(píng)論 0 1
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,527評(píng)論 25 707
  • 一扫尺、 Drawable簡(jiǎn)介 1 Drawable表示的是一種可以在Canvas上進(jìn)行繪制的抽象的概念,可以是純顏色...
    黃海佳閱讀 1,202評(píng)論 0 10
  • 年初父母壽辰,我問父親想要什么禮物抢腐,父親說希望我時(shí)常打電話給他們拨拓,讓他知道我安好。聽后心里酸酸的氓栈,京津兩地...
    桂花樹下閱讀 280評(píng)論 0 0
  • 斜陽(yáng)慵入飄渺然渣磷,雪樂輕舞涼意漫。 輕嘆淺淺溢唇畔授瘦,愁思淡...
    林軒竹閱讀 294評(píng)論 0 0