中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Android之Selector與Shape的使用

發布時間:2020-07-28 16:55:57 來源:網絡 閱讀:628 作者:joyy001 欄目:移動開發

Selector:

在開發過程中,通常我們需要給控件增加點擊的效果,效果如下:

    默認效果                  點擊效果

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


1、首先準備兩張圖片(默認和點擊時的圖片)

2、右擊res文件夾,新建一個xml文件,在彈出的對話框中,Resource Type 選擇Drawable,Root Element選擇Selector,填入文件名(如:pressed_selector),點擊完成,這時會在res文件夾中生成一個drawable文件夾存放我們創建的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"  //點擊狀態
        android:drawable="@drawable/ic_pressed"></item> //點擊狀態的圖片
    <item android:drawable="@drawable/ic_normal"></item> //沒有設置狀態則為默認圖片

</selector>


4、之后再布局文件中,在我們要增加點擊效果的控件設置如下屬性,運行后該控件就有點擊效果了

android:background="@drawable/pressed_selector"

5、當然,出了設置點擊時的效果,還可以設置選中狀態、聚焦狀態等等效果

       只要設置相應 android:state_xxx 屬性即可



Shape:

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

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

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

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

    <!-- 實心,即填充的顏色 -->
    <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>

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

android:background="@drawable/shape"



Selector與Shape結合使用:

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

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

    <!-- 分別設置點擊時和默認狀態的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>


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

繁峙县| 张家港市| 南雄市| 南平市| 资阳市| 闸北区| 固始县| 石棉县| 衡阳县| 淄博市| 乐陵市| 鹿泉市| 措勤县| 陈巴尔虎旗| 松潘县| 鄂尔多斯市| 平安县| 岳阳市| 黄平县| 门头沟区| 荔浦县| 汉阴县| 苏尼特右旗| 防城港市| 裕民县| 和田县| 资中县| 古蔺县| 灵川县| 南漳县| 朝阳县| 嘉义县| 修文县| 龙海市| 长海县| 黑水县| 滁州市| 久治县| 商水县| 徐水县| 武冈市|