成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

Androidshape文件屬性詳解

Android開(kāi)發(fā)中難免用到自定義的資源文件,其中很重要的便是Shape文件,Shape文件可以用來(lái)定義任意形狀,常常用來(lái)做背景色等。

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來(lái)自于我們對(duì)這個(gè)行業(yè)的熱愛(ài)。我們立志把好的技術(shù)通過(guò)有效、簡(jiǎn)單的方式提供給客戶,將通過(guò)不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:主機(jī)域名、虛擬主機(jī)、營(yíng)銷軟件、網(wǎng)站建設(shè)、萬(wàn)源網(wǎng)站維護(hù)、網(wǎng)站推廣。

Shape文件實(shí)際上也是.xml,其根元素是shape。下面將詳細(xì)介紹Shape文件中各種元素和屬性的含義。

根元素<shape>指定基本形狀

shape屬性指定基本形狀,允許的值有:rectangle(矩形),oval(橢圓),line(線條), ring(環(huán))。默認(rèn)的值是矩形,下面的代碼定義了一個(gè)矩形:

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

visible屬性設(shè)置形狀是否初始可見(jiàn)。

僅當(dāng)形狀定義為ring時(shí),下列屬性才可用:

  • innerRadius指定內(nèi)環(huán)(即中空的洞)的半徑,接收Dimension類型。

  • innerRadiusRatio為浮點(diǎn)型,以環(huán)的寬度比率來(lái)表示內(nèi)環(huán)的半徑,例如,如果android:innerRadiusRatio,表示內(nèi)環(huán)半徑等于環(huán)的寬度除以5,這個(gè)值是可以被覆蓋的,默認(rèn)為9.

  •         thickness指定環(huán)的厚度,類型為Dimension。

  •         thickne***atio也為浮點(diǎn)型,以環(huán)的寬度比率來(lái)表示環(huán)的厚度,例如,如果該值為"2",那么環(huán)的厚度就等于環(huán)的寬度除以2。這個(gè)值是可以被android:thickness覆蓋的,默認(rèn)值是3.

  • 關(guān)于useLevel請(qǐng)參加下節(jié)<gradient>。


<gradient>設(shè)置漸變填充

    startcolor、centercolor、endcolor設(shè)置漸變的起止色,即允許設(shè)置兩次漸變。

    angle設(shè)置漸變的角度,僅當(dāng)漸變類型為線性漸變時(shí)有效。默認(rèn)0值為水平向右,其他角度以逆時(shí)針旋轉(zhuǎn)為準(zhǔn),例如設(shè)置為90則是自下而上,設(shè)置為270自上而下,以此類推。注意:必須是45的倍數(shù)。

    type設(shè)置漸變類型,默認(rèn)是linear(線性漸變),如果設(shè)置為radial(放射/徑向漸變),則必須同時(shí)設(shè)置gradientRadius屬性,該屬性指定漸變半徑,注意:這個(gè)半徑并不是Dimension,不接受dp等單位,只能設(shè)置數(shù)字。此外還可以設(shè)置一個(gè)比較有意思的方式:sweep(掃描漸變)。三種漸變方式的效果見(jiàn)下圖。

Android shape文件屬性詳解Android shape文件屬性詳解Android shape文件屬性詳解

  centerX、centerY兩個(gè)屬性用于設(shè)置漸變的中心點(diǎn)位置,僅當(dāng)漸變類型為放射漸變時(shí)有效,類型為分?jǐn)?shù)或小數(shù),不接受Dimension。默認(rèn)值是0.5,有效值是0.0~1.0,超出該范圍后會(huì)看不出漸變效果。

  useLevel屬性通常不使用。該屬性用于指定是否將該shape當(dāng)成一個(gè)LevelListDrawable來(lái)使用,默認(rèn)值為false。

下面的代碼定義了一個(gè)線性的上下漸變:

<gradient android:startColor="#67CC24" android:endColor="#3E9010" android:angle="270" />


<solid>設(shè)置純色填充

這個(gè)元素本身沒(méi)什么好說(shuō)的,既然是純色填充,只有color一個(gè)屬性。

注意:如果同一份文件同時(shí)指定漸變和純色填充,則順序在后面的會(huì)覆蓋掉前面的設(shè)置!


<size>指定尺寸

使用width、height分別設(shè)置寬高,類型為Dimension。

注意:Shape文件即使指定了size,默認(rèn)情況下在使用時(shí)也會(huì)縮放到其容器的大小。如果在ImageView中使用,可以使用android:scaleType進(jìn)行縮放的限制。

<stroke>描邊

當(dāng)定義的形狀為line(線條)時(shí),該屬性為必選項(xiàng),設(shè)置線條的樣式。當(dāng)形狀為其他形狀時(shí),該元素起描邊的作用。

width指定邊框的寬度(Dimension),color指定邊框顏色,只接受color類型。

我們還可以設(shè)置虛線邊框:使用dashGap設(shè)置虛線之間的間隔,dashWidth設(shè)置每根虛線'-'的長(zhǎng)度(為什么Google不把這個(gè)叫做Length?我也不知道)。僅當(dāng)這兩個(gè)屬性都設(shè)置時(shí)虛線效果才生效。

下面的代碼定義了一個(gè)藍(lán)色虛線邊框:

    <stroke android:color="#0000FF" android:width="5dp" 
        android:dashGap="3dp" android:dashWidth="10dp"/>


<corners>設(shè)置圓角

僅當(dāng)形狀為矩形時(shí)該元素才生效。topLeftRadius、topRightRadius、bottomLeftRadius、bottomRightRadius四個(gè)屬性分別設(shè)置四個(gè)角,radius則統(tǒng)一設(shè)置(四個(gè)角相同)。下面的代碼設(shè)置了四個(gè)相同的圓角:

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

<padding>設(shè)置邊距

該元素的含義請(qǐng)參照android:layout_paddingLeft等屬性。共有四個(gè)方向left、right、top、bottom可以設(shè)置,但沒(méi)有提供統(tǒng)一設(shè)置的屬性。

以上介紹了Shape文件的所有可用元素和屬性,但要真正用好shape,還要多寫多用才行。如有描述錯(cuò)誤或不妥的地方,歡迎各位批評(píng)指正。

分享題目:Androidshape文件屬性詳解
網(wǎng)址分享:http://jinyejixie.com/article18/jjhegp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供關(guān)鍵詞優(yōu)化、微信小程序手機(jī)網(wǎng)站建設(shè)、定制網(wǎng)站、移動(dòng)網(wǎng)站建設(shè)品牌網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站
巫山县| 岳池县| 阿巴嘎旗| 绥化市| 原阳县| 达孜县| 日喀则市| 达日县| 红桥区| 娱乐| 镇坪县| 达孜县| 广元市| 沭阳县| 平陆县| 册亨县| 晋江市| 察隅县| 弋阳县| 任丘市| 吴川市| 阜平县| 铅山县| 永胜县| 博乐市| 江西省| 理塘县| 同仁县| 环江| 和龙市| 彭山县| 叶城县| 高邑县| 固阳县| 阿拉善右旗| 赤水市| 贞丰县| 兴山县| 邵武市| 横峰县| 玉屏|