Android中shape中的屬性大全

Android中常常使用shape來定義控件的一些顯示屬性怒医,今天看了一些shape的使用蹦渣,對(duì)shape有了大體的了解怕敬,稍作總結(jié):

先看下面的代碼:

    <shape>

        <!-- 實(shí)心 -->

        <solid android:color="#ff9d77"/>

        <!-- 漸變 -->

        <gradient

            android:startColor="#ff8c00"

            android:endColor="#FFFFFF"

            android:angle="270" />

        <!-- 描邊 -->

        <stroke

            android:width="2dp"

            android:color="#dcdcdc" />

        <!-- 圓角 -->

        <corners

            android:radius="2dp" />

        <padding

            android:left="10dp"

            android:top="10dp"

            android:right="10dp"

            android:bottom="10dp" />

    </shape>

solid:實(shí)心睁蕾,就是填充的意思

android:color指定填充的顏色

gradient:漸變

android:startColor和android:endColor分別為起始和結(jié)束顏色柒凉,ndroid:angle是漸變角度族阅,必須為45的整數(shù)倍。

另外漸變默認(rèn)的模式為android:type="linear"膝捞,即線性漸變坦刀,可以指定漸變?yōu)閺较驖u變,android:type="radial",徑向漸變需要指定半徑android:gradientRadius="50"鲤遥。

stroke:描邊

android:width="2dp" 描邊的寬度央渣,android:color 描邊的顏色。

我們還可以把描邊弄成虛線的形式渴频,設(shè)置方式為:

android:dashWidth="5dp"

android:dashGap="3dp"

其中android:dashWidth表示'-'這樣一個(gè)橫線的寬度芽丹,android:dashGap表示之間隔開的距離。

corners:圓角

android:radius為角的弧度卜朗,值越大角越圓拔第。

我們還可以把四個(gè)角設(shè)定成不同的角度,方法為:

<corners

    android:topRightRadius="20dp"    右上角

    android:bottomLeftRadius="20dp"    右下角

    android:topLeftRadius="1dp"    左上角

    android:bottomRightRadius="0dp"    左下角

/>

這里有個(gè)地方需要注意场钉,bottomLeftRadius是右下角蚊俺,而不是左下角,這個(gè)有點(diǎn)郁悶逛万,不過不影響使用泳猬,記得別搞錯(cuò)了就行。

還有網(wǎng)上看到有人說設(shè)置成0dp無效宇植,不過我在測(cè)試中發(fā)現(xiàn)是可以的得封,我用的是2.2,可能修復(fù)了這個(gè)問題吧指郁,如果無效的話那就只能設(shè)成1dp了忙上。

padding:間隔

這個(gè)就不用多說了,XML布局文件中經(jīng)常用到闲坎。

大體的就是這樣疫粥,以下是一個(gè)使用的具體示例:用在Selector中作為Button的背景,分別定義了按鈕的一般狀態(tài)腰懂、獲得焦點(diǎn)狀態(tài)和按下時(shí)的狀態(tài)梗逮,具體代碼如下:

main.xml:

<Button

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="TestShapeButton"

android:background="@drawable/button_selector"

/>

button_selector.xml:

<?xml version="1.0" encoding="utf-8"?>

<selector

xmlns:android="http://schemas.android.com/apk/res/android">

<item android:state_pressed="true" >

    <shape>

        <!-- 漸變 -->

        <gradient

            android:startColor="#ff8c00"

            android:endColor="#FFFFFF"

            android:type="radial"

            android:gradientRadius="50" />

        <!-- 描邊 -->

        <stroke

            android:width="2dp"

            android:color="#dcdcdc"

            android:dashWidth="5dp" 

            android:dashGap="3dp" />

        <!-- 圓角 -->

        <corners

            android:radius="2dp" />

        <padding

            android:left="10dp"

            android:top="10dp"

            android:right="10dp"

            android:bottom="10dp" />

    </shape>

</item>

<item android:state_focused="true" >

    <shape>

        <gradient

            android:startColor="#ffc2b7"

            android:endColor="#ffc2b7"

            android:angle="270" />

        <stroke

            android:width="2dp"

            android:color="#dcdcdc" />

        <corners

            android:radius="2dp" />

        <padding

            android:left="10dp"

            android:top="10dp"

            android:right="10dp"

            android:bottom="10dp" />

    </shape>

</item>

<item>       

    <shape>

<solid android:color="#ff9d77"/>

        <stroke

            android:width="2dp"

            android:color="#fad3cf" />

        <corners 

            android:topRightRadius="5dp"

            android:bottomLeftRadius="5dp"

            android:topLeftRadius="0dp"

            android:bottomRightRadius="0dp"

        />

        <padding

            android:left="10dp"

            android:top="10dp"

            android:right="10dp"

            android:bottom="10dp" />

    </shape>

</item>

</selector>

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
禁止轉(zhuǎn)載,如需轉(zhuǎn)載請(qǐng)通過簡(jiǎn)信或評(píng)論聯(lián)系作者绣溜。
  • 序言:七十年代末慷彤,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子涮毫,更是在濱河造成了極大的恐慌瞬欧,老刑警劉巖贷屎,帶你破解...
    沈念sama閱讀 206,126評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件罢防,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡唉侄,警方通過查閱死者的電腦和手機(jī)咒吐,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人恬叹,你說我怎么就攤上這事候生。” “怎么了绽昼?”我有些...
    開封第一講書人閱讀 152,445評(píng)論 0 341
  • 文/不壞的土叔 我叫張陵唯鸭,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我硅确,道長(zhǎng)目溉,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,185評(píng)論 1 278
  • 正文 為了忘掉前任菱农,我火速辦了婚禮缭付,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘循未。我一直安慰自己陷猫,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,178評(píng)論 5 371
  • 文/花漫 我一把揭開白布的妖。 她就那樣靜靜地躺著绣檬,像睡著了一般。 火紅的嫁衣襯著肌膚如雪嫂粟。 梳的紋絲不亂的頭發(fā)上河咽,一...
    開封第一講書人閱讀 48,970評(píng)論 1 284
  • 那天,我揣著相機(jī)與錄音赋元,去河邊找鬼忘蟹。 笑死,一個(gè)胖子當(dāng)著我的面吹牛搁凸,可吹牛的內(nèi)容都是我干的媚值。 我是一名探鬼主播,決...
    沈念sama閱讀 38,276評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼护糖,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼褥芒!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起嫡良,我...
    開封第一講書人閱讀 36,927評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤锰扶,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后寝受,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體坷牛,經(jīng)...
    沈念sama閱讀 43,400評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,883評(píng)論 2 323
  • 正文 我和宋清朗相戀三年很澄,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了京闰。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片颜及。...
    茶點(diǎn)故事閱讀 37,997評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖蹂楣,靈堂內(nèi)的尸體忽然破棺而出俏站,到底是詐尸還是另有隱情,我是刑警寧澤痊土,帶...
    沈念sama閱讀 33,646評(píng)論 4 322
  • 正文 年R本政府宣布肄扎,位于F島的核電站,受9級(jí)特大地震影響赁酝,放射性物質(zhì)發(fā)生泄漏反浓。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,213評(píng)論 3 307
  • 文/蒙蒙 一赞哗、第九天 我趴在偏房一處隱蔽的房頂上張望雷则。 院中可真熱鬧,春花似錦肪笋、人聲如沸月劈。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽猜揪。三九已至,卻和暖如春坛梁,著一層夾襖步出監(jiān)牢的瞬間而姐,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評(píng)論 1 260
  • 我被黑心中介騙來泰國(guó)打工划咐, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留拴念,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,423評(píng)論 2 352
  • 正文 我出身青樓褐缠,卻偏偏與公主長(zhǎng)得像政鼠,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子队魏,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,722評(píng)論 2 345

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