形狀圖形(shape)

shape 常用屬性

android:shape="rectangle" 矩形奖慌,默認值
android:shape="oval" 橢圓窘茁,此時corners (圓角節(jié)點)失效
android:shape="line" 直線,必須設置stroke(描邊)節(jié)點
android:shape="ring" 圓環(huán)

下面定義了6種圖形

  • corners (圓角)

    android:radius="20dp" 直接定義4個圓角
    android:bottomLeftRadius="20dp" 左下角
    android:bottomRightRadius="20dp" 右下角
    android:topLeftRadius="20dp" 左上角
    android:topRightRadius="20dp" 右上角
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <!--圓角 弧度為 20-->
    <corners android:radius="20dp"
        android:bottomLeftRadius="20dp"
        android:bottomRightRadius="20dp"
        android:topLeftRadius="20dp"
        android:topRightRadius="20dp"/>
  <!--填充顏色-->
    <solid android:color="@color/white_alpha_32" />

</shape>
image.png
  • gradien(漸變)

android:angle ( 起始角度 0 -9點方向 90- 6點方向 180 -3點方向 270 12點方向)
android:type (linear 線性漸變 默認值 , radial 放射漸變 起始顏色是圓心, sweep 滾動漸變)
android:centerY="0.4" 圓心y坐標

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

    <gradient
        android:angle="270"
        android:centerY="0.4"
        android:startColor="@color/black_alpha_224"
        android:centerColor="@color/black_alpha_80"
        android:endColor="@color/trans"
        />

</shape>

image.png
  • padding (定義內容離邊界的距離)

  • solid(填充顏色及汉,背景色)

 <solid android:color="@color/white_alpha_32" />
  • size(尺寸)

無節(jié)點表示寬高自適應

<size android:height="@dimen/len_4"
        android:width="@dimen/len_4"/>

  • stroke(描邊)

android:dashGap="@dimen/len_4" 每段虛線之間的間隔
android:dashWidth="@dimen/len_4" 每段虛線之間的寬度
上面2個同時存在才為虛線
android:width="@dimen/len_4" 描邊厚度

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

    <stroke android:color="@color/black"
        android:width="@dimen/len_2"
        />

    <corners android:radius="20dp"/>

    <size android:width="400dp"
        android:height="400dp"/>
</shape>

image.png
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <!--圓角 弧度為 20-->
    <corners android:radius="20dp" />
    <solid android:color="@color/white_alpha_32" />
</shape>

v21 漣漪效果

<?xml version="1.0" encoding="utf-8"?>
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
    android:color="@color/white_alpha_48">

    <!--漣漪  效果 api 21-->
    <item android:id="@android:id/mask">
        <shape android:shape="rectangle">
            <corners android:radius="20dp" />
            <solid android:color="@color/white" />
        </shape>
    </item>
</ripple>
v21 以上 
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
    android:color="@color/black_alpha_32"/>

v21 以下
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true">
        <shape android:shape="rectangle">
            <solid android:color="@color/black_alpha_16" />
        </shape>
    </item>
</selector>

進階

點擊背景 實現變色

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

    <item android:state_enabled="false">

        <shape android:shape="rectangle">
            <corners android:radius="22dp" />
            <solid android:color="@color/trans" />
        </shape>
    </item>

   <!--點擊時的效果 -->
    <item>
        <shape android:shape="rectangle">
            <corners android:radius="22dp" />
            <solid android:color="@color/black_alpha_112" />
        </shape>
    </item>
</selector>
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市屯烦,隨后出現的幾起案子坷随,更是在濱河造成了極大的恐慌,老刑警劉巖驻龟,帶你破解...
    沈念sama閱讀 222,378評論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件温眉,死亡現場離奇詭異,居然都是意外死亡翁狐,警方通過查閱死者的電腦和手機类溢,發(fā)現死者居然都...
    沈念sama閱讀 94,970評論 3 399
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來露懒,“玉大人闯冷,你說我怎么就攤上這事⌒复剩” “怎么了蛇耀?”我有些...
    開封第一講書人閱讀 168,983評論 0 362
  • 文/不壞的土叔 我叫張陵,是天一觀的道長坎弯。 經常有香客問我纺涤,道長,這世上最難降的妖魔是什么抠忘? 我笑而不...
    開封第一講書人閱讀 59,938評論 1 299
  • 正文 為了忘掉前任撩炊,我火速辦了婚禮,結果婚禮上崎脉,老公的妹妹穿的比我還像新娘拧咳。我一直安慰自己,他們只是感情好囚灼,可當我...
    茶點故事閱讀 68,955評論 6 398
  • 文/花漫 我一把揭開白布呛踊。 她就那樣靜靜地躺著,像睡著了一般啦撮。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上汪厨,一...
    開封第一講書人閱讀 52,549評論 1 312
  • 那天赃春,我揣著相機與錄音,去河邊找鬼劫乱。 笑死织中,一個胖子當著我的面吹牛锥涕,可吹牛的內容都是我干的。 我是一名探鬼主播狭吼,決...
    沈念sama閱讀 41,063評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼层坠,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了刁笙?” 一聲冷哼從身側響起破花,我...
    開封第一講書人閱讀 39,991評論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎疲吸,沒想到半個月后座每,有當地人在樹林里發(fā)現了一具尸體,經...
    沈念sama閱讀 46,522評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡摘悴,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 38,604評論 3 342
  • 正文 我和宋清朗相戀三年峭梳,在試婚紗的時候發(fā)現自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蹂喻。...
    茶點故事閱讀 40,742評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡葱椭,死狀恐怖,靈堂內的尸體忽然破棺而出口四,到底是詐尸還是另有隱情孵运,我是刑警寧澤,帶...
    沈念sama閱讀 36,413評論 5 351
  • 正文 年R本政府宣布窃祝,位于F島的核電站掐松,受9級特大地震影響,放射性物質發(fā)生泄漏粪小。R本人自食惡果不足惜大磺,卻給世界環(huán)境...
    茶點故事閱讀 42,094評論 3 335
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望探膊。 院中可真熱鬧杠愧,春花似錦、人聲如沸逞壁。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,572評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽腌闯。三九已至绳瘟,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間姿骏,已是汗流浹背上鞠。 一陣腳步聲響...
    開封第一講書人閱讀 33,671評論 1 274
  • 我被黑心中介騙來泰國打工筐摘, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留纸型,地道東北人。 一個月前我還...
    沈念sama閱讀 49,159評論 3 378
  • 正文 我出身青樓琉苇,卻偏偏與公主長得像,于是被迫代替她去往敵國和親悦施。 傳聞我的和親對象是個殘疾皇子并扇,可洞房花燭夜當晚...
    茶點故事閱讀 45,747評論 2 361

推薦閱讀更多精彩內容

  • ANDROID樣式的開發(fā):SHAPE篇 轉載自Keegan小鋼并標明原文鏈接:http://keeganlee.m...
    一點墨汁閱讀 806評論 0 1
  • 原創(chuàng)文章,轉載請注明:轉載自Keegan小鋼 并標明原文鏈接:http://keeganlee.me/post/a...
    于加澤閱讀 1,647評論 0 5
  • 概述 今天我們來探究一下android的樣式抡诞。其實穷蛹,幾乎所有的控件都可以使用 background屬性去引用自定義...
    CokeNello閱讀 4,850評論 1 19
  • 記得剛開始學Android時,看著自己完全用系統(tǒng)控件寫出的不忍直視的界面沐绒,對于如何做出不一樣的按鈕俩莽,讓它們在不同狀...
    biloba閱讀 1,719評論 1 11
  • 關于Shape的使用,簡單來說說吧乔遮,shape作為Android程序員你也是一定會用到的一個工具扮超。用官方的話來說,...
    碼碼Master閱讀 12,866評論 0 6