Selector:
在開發(fā)過程中,通常我們需要給控件增加點擊的效果,效果如下:
默認效果 點擊效果
1、首先準備兩張圖片(默認和點擊時的圖片)
2、右擊res文件夾,新建一個xml文件,在彈出的對話框中,Resource Type 選擇Drawable,Root Element選擇Selector,填入文件名(如:pressed_selector),點擊完成,這時會在res文件夾中生成一個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" //點擊狀態(tài) android:drawable="@drawable/ic_pressed"></item> //點擊狀態(tài)的圖片 <item android:drawable="@drawable/ic_normal"></item> //沒有設置狀態(tài)則為默認圖片 </selector>
4、之后再布局文件中,在我們要增加點擊效果的控件設置如下屬性,運行后該控件就有點擊效果了
android:background="@drawable/pressed_selector"
5、當然,出了設置點擊時的效果,還可以設置選中狀態(tài)、聚焦狀態(tài)等等效果
只要設置相應 android:state_xxx 屬性即可
Shape:
除了給控件設置點擊效果,我們還可以在控件的外觀上給予美化,比如設置圓角、邊框等,這時候就要用到shape了,跟selector一樣創(chuàng)建一個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結(jié)合使用:
如果我們要給控件同時設置點擊效果和shape效果,只需要把shape的代碼移植到selector中即可,代碼如下:
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <!-- 分別設置點擊時和默認狀態(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>
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
文章題目:Android之Selector與Shape的使用-創(chuàng)新互聯(lián)
網(wǎng)頁網(wǎng)址:http://www.sd-ha.com/article18/dgojgp.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供標簽優(yōu)化、網(wǎng)站收錄、Google、品牌網(wǎng)站制作、外貿(mào)網(wǎng)站建設、網(wǎng)站設計
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容