Android 背景樣式shape - line線、ring環(huán)

概述

前面分別介紹了Rectangle矩形胞皱、oval橢圓拱绑,下面介紹一下ring環(huán)综芥、line線。
作為一個(gè)程序員猎拨,要是覺(jué)得沒(méi)事做,那是很可怕的事情屠阻,放眼一瞅红省,編碼的世界太龐大了,還有很多需要學(xué)習(xí)的地方国觉。一個(gè)行之有效的適合自己的學(xué)習(xí)方式是很有必要的吧恃,在這慢慢的編碼路程中,且行且學(xué)習(xí)吧麻诀。痕寓。傲醉。

ring環(huán)、line線效果

image
image

ring代碼實(shí)現(xiàn)

特殊屬性:shape根節(jié)點(diǎn)有些屬性呻率,只適用于ring類(lèi)型硬毕,如:

  • android:innerRadius 內(nèi)環(huán)的半徑
  • android:innerRadiusRatio 浮點(diǎn)型,以環(huán)的寬度比率來(lái)表示內(nèi)環(huán)的半徑礼仗,默認(rèn)為3吐咳,表示內(nèi)環(huán)半徑為環(huán)的寬度除以3,該值會(huì)被android:innerRadius覆蓋
  • android:thickness 環(huán)的厚度
  • android:thicknessRatio 浮點(diǎn)型元践,以環(huán)的寬度比率來(lái)表示環(huán)的厚度韭脊,默認(rèn)為9,表示環(huán)的厚度為環(huán)的寬度除以9单旁,該值會(huì)被android:thickness覆蓋
  • android:useLevel 一般為false沪羔,否則可能環(huán)形無(wú)法顯示,只有作為L(zhǎng)evelListDrawable使用時(shí)才設(shè)為true
<TextView  
    android:layout_width="wrap_content"  
    android:layout_height="50dp"  
    android:layout_marginTop="20dp"  
    android:background="@drawable/text_shape13"/>  
  
<TextView  
    android:layout_width="wrap_content"  
    android:layout_height="48dp"  
    android:layout_marginTop="20dp"  
    android:background="@drawable/text_shape14"/>  
  
<TextView  
    android:layout_width="wrap_content"  
    android:layout_height="wrap_content"  
    android:layout_marginTop="20dp"  
    android:background="@drawable/text_shape15" />  
  
<TextView  
    android:layout_width="50dp"  
    android:layout_height="wrap_content"  
    android:layout_marginTop="20dp"  
    android:background="@drawable/text_shape16" />  

line代碼實(shí)現(xiàn)

line主要用于畫(huà)分割線象浑,是通過(guò)stroke和size特性組合來(lái)實(shí)現(xiàn)的

<View  
    android:layout_width="200dp"  
    android:layout_height="10dp"  
    android:layout_marginTop="20dp"  
    android:background="@drawable/text_shape11"/>  
<View  
    android:layout_width="200dp"  
    android:layout_height="10dp"  
    android:layout_marginTop="20dp"  
    android:background="@drawable/text_shape12"/> 

shape背景

  • text_shape11
<?xml version="1.0" encoding="utf-8"?>  
<shape xmlns:android="http://schemas.android.com/apk/res/android"  
    android:shape="line">  
    <stroke  
        android:width="1dp"  
        android:color="#ff0000"/>  
    <size  
        android:height="4dp"/>  
</shape> 
  • text_shape12
<?xml version="1.0" encoding="utf-8"?>  
<shape xmlns:android="http://schemas.android.com/apk/res/android"  
    android:shape="line">  
    <solid  
        android:color="#990000ff"/>  
    <stroke  
        android:width="1dp"  
        android:color="#00ff00"  
        android:dashWidth="4dp"  
        android:dashGap="4dp"/>  
</shape> 
  • text_shape13
<?xml version="1.0" encoding="utf-8"?>  
<shape xmlns:android="http://schemas.android.com/apk/res/android"  
    android:shape="ring"  
    android:innerRadiusRatio="3"  
    android:thicknessRatio="8"  
    android:useLevel="false">  
    <solid  
        android:color="#990000ff"/>  
    <size  
        android:width="60dp"  
        android:height="60dp"/>  
</shape> 
  • text_shape14
<?xml version="1.0" encoding="utf-8"?>  
<shape xmlns:android="http://schemas.android.com/apk/res/android"  
    android:shape="ring"  
    android:innerRadiusRatio="4"  
    android:thicknessRatio="9"  
    android:useLevel="false">  
    <solid  
        android:color="#990000ff"/>  
    <size  
        android:width="60dp"  
        android:height="60dp"/>  
    <gradient  
        android:startColor="#ff0000"  
        android:endColor="#00000000"  
        android:type="sweep"/>  
</shape>  
  • text_shape15
<?xml version="1.0" encoding="utf-8"?>  
<shape xmlns:android="http://schemas.android.com/apk/res/android"  
    android:shape="ring"  
    android:innerRadiusRatio="3"  
    android:thicknessRatio="8"  
    android:useLevel="false">  
    <stroke  
        android:width="1dp"  
        android:color="@color/colorPrimary" />  
    <size  
        android:width="40dp"  
        android:height="40dp"/>  
</shape>  
  • text_shape16
<?xml version="1.0" encoding="utf-8"?>  
<shape xmlns:android="http://schemas.android.com/apk/res/android"  
    android:shape="ring"  
    android:innerRadiusRatio="4"  
    android:thicknessRatio="9"  
    android:useLevel="false">  
    <stroke  
        android:width="1dp"  
        android:color="@color/colorPrimary" />  
    <size  
        android:width="40dp"  
        android:height="40dp"/>  
    <gradient  
        android:startColor="#ff0000"  
        android:endColor="#00000000"  
        android:type="sweep"/>  
</shape>  

總結(jié)

line劃線時(shí)注意一下幾點(diǎn):

  • 只能畫(huà)水平線任内,畫(huà)不了豎線;
  • 線的高度是通過(guò)stroke的android:width屬性設(shè)置的融柬;
  • size的android:height屬性定義的是整個(gè)形狀區(qū)域的高度死嗦;
  • size的height必須大于stroke的width,否則粒氧,線無(wú)法顯示越除;
  • 線在整個(gè)形狀區(qū)域中是居中顯示的;
  • 線左右兩邊會(huì)留有空白間距外盯,線越粗摘盆,空白越大;
  • 引用虛線的view需要添加屬性android:layerType饱苟,值設(shè)為"software"孩擂,否則顯示不了虛線。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末箱熬,一起剝皮案震驚了整個(gè)濱河市类垦,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌城须,老刑警劉巖蚤认,帶你破解...
    沈念sama閱讀 218,525評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異糕伐,居然都是意外死亡砰琢,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,203評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)陪汽,“玉大人训唱,你說(shuō)我怎么就攤上這事≈吭” “怎么了况增?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,862評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)你辣。 經(jīng)常有香客問(wèn)我巡通,道長(zhǎng),這世上最難降的妖魔是什么舍哄? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,728評(píng)論 1 294
  • 正文 為了忘掉前任宴凉,我火速辦了婚禮,結(jié)果婚禮上表悬,老公的妹妹穿的比我還像新娘弥锄。我一直安慰自己,他們只是感情好蟆沫,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,743評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布籽暇。 她就那樣靜靜地躺著,像睡著了一般饭庞。 火紅的嫁衣襯著肌膚如雪戒悠。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,590評(píng)論 1 305
  • 那天舟山,我揣著相機(jī)與錄音绸狐,去河邊找鬼。 笑死累盗,一個(gè)胖子當(dāng)著我的面吹牛寒矿,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播若债,決...
    沈念sama閱讀 40,330評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼符相,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了蠢琳?” 一聲冷哼從身側(cè)響起啊终,我...
    開(kāi)封第一講書(shū)人閱讀 39,244評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎挪凑,沒(méi)想到半個(gè)月后孕索,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,693評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡躏碳,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,885評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片菇绵。...
    茶點(diǎn)故事閱讀 40,001評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡肄渗,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出咬最,到底是詐尸還是另有隱情翎嫡,我是刑警寧澤,帶...
    沈念sama閱讀 35,723評(píng)論 5 346
  • 正文 年R本政府宣布永乌,位于F島的核電站惑申,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏翅雏。R本人自食惡果不足惜圈驼,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,343評(píng)論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望望几。 院中可真熱鬧绩脆,春花似錦、人聲如沸橄抹。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,919評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)楼誓。三九已至玉锌,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間疟羹,已是汗流浹背主守。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,042評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留阁猜,地道東北人丸逸。 一個(gè)月前我還...
    沈念sama閱讀 48,191評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像剃袍,于是被迫代替她去往敵國(guó)和親黄刚。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,955評(píng)論 2 355

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