Android之Selector與Shape的使用-創(chuàng)新互聯(lián)

Selector:

10年積累的成都網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì)經(jīng)驗(yàn),可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先網(wǎng)站設(shè)計(jì)后付款的網(wǎng)站建設(shè)流程,更有且末免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。

在開發(fā)過程中,通常我們需要給控件增加點(diǎn)擊的效果,效果如下:

  默認(rèn)效果          點(diǎn)擊效果

Android之Selector與Shape的使用   Android之Selector與Shape的使用

1、首先準(zhǔn)備兩張圖片(默認(rèn)和點(diǎn)擊時(shí)的圖片)

2、右擊res文件夾,新建一個(gè)xml文件,在彈出的對話框中,Resource Type 選擇Drawable,Root Element選擇Selector,填入文件名(如:pressed_selector),點(diǎn)擊完成,這時(shí)會在res文件夾中生成一個(gè)drawable文件夾存放我們創(chuàng)建的xml文件

3、xml代碼如下:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
    
    <item 
        android:state_pressed="true"  //點(diǎn)擊狀態(tài)
        android:drawable="@drawable/ic_pressed"></item> //點(diǎn)擊狀態(tài)的圖片
    <item android:drawable="@drawable/ic_normal"></item> //沒有設(shè)置狀態(tài)則為默認(rèn)圖片

</selector>

4、之后再布局文件中,在我們要增加點(diǎn)擊效果的控件設(shè)置如下屬性,運(yùn)行后該控件就有點(diǎn)擊效果了

android:background="@drawable/pressed_selector"

5、當(dāng)然,出了設(shè)置點(diǎn)擊時(shí)的效果,還可以設(shè)置選中狀態(tài)、聚焦?fàn)顟B(tài)等等效果

    只要設(shè)置相應(yīng) android:state_xxx 屬性即可

Shape:

除了給控件設(shè)置點(diǎn)擊效果,我們還可以在控件的外觀上給予美化,比如設(shè)置圓角、邊框等,這時(shí)候就要用到shape了,跟selector一樣創(chuàng)建一個(gè)xml文件,Root Element選擇Shape,就會生成shape xml文件,各種屬性參考下面代碼

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

    <!-- 設(shè)置圓角 可用radius設(shè)置4個(gè)方向的圓角,也可分別單獨(dú)設(shè)置4個(gè)圓角-->
    <corners 
        android:radius="2dp"
        android:topLeftRadius="2dp"
        android:topRightRadius="2dp"
        android:bottomLeftRadius="2dp"
        android:bottomRightRadius="2dp" />

    <!-- 描邊,即邊框,默認(rèn)是實(shí)線;dashWidth、dashGap兩個(gè)屬性設(shè)置虛線 -->
    <stroke
        android:width="2dp"
        android:color="#dcdcdc" 
        android:dashWidth="2dp"
        android:dashGap="3dp"/>

    <!-- 實(shí)心,即填充的顏色 -->
    <solid android:color="#ffffff" />
    
    <!-- 漸變 -->
    <gradient
        android:angle="200"
        android:endColor="#00ff00"
        android:startColor="#ffffff" />
    
    <!-- 間隔 -->
    <padding
        android:bottom="10dp"
        android:left="10dp"
        android:right="10dp"
        android:top="10dp" />

</shape>

同樣是給控件設(shè)置background屬性即可引入shape效果

android:background="@drawable/shape"

Selector與Shape結(jié)合使用:

如果我們要給控件同時(shí)設(shè)置點(diǎn)擊效果和shape效果,只需要把shape的代碼移植到selector中即可,代碼如下:

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

    <!-- 分別設(shè)置點(diǎn)擊時(shí)和默認(rèn)狀態(tài)的shape -->
    <item android:state_pressed="true">
        <shape>
            <corners android:radius="20dp" />
            <solid android:color="#e0e0e0" />
        </shape>
    </item>
        
        
    <item>
        <shape>
            <corners android:radius="20dp" />
            <solid android:color="#ffffff" />
        </shape>
    </item>

</selector>

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

文章題目:Android之Selector與Shape的使用-創(chuàng)新互聯(lián)
網(wǎng)頁網(wǎng)址:http://bm7419.com/article18/dgojgp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供標(biāo)簽優(yōu)化、網(wǎng)站收錄、Google、品牌網(wǎng)站制作、外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)

廣告

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

綿陽服務(wù)器托管