Android控件系列之Shape使用方法
如果你對Android系統(tǒng)自帶的UI控件感覺不夠滿意,可以嘗試下自定義控件,我們就以Button為例,很早以前Android123就寫到過Android Button按鈕控件美化方法里面提到了xml的selector構(gòu)造。當(dāng)然除了使用drawable這樣的圖片外今天Android開發(fā)網(wǎng)談下自定義圖形shape的方法,對于Button控件Android上支持以下幾種屬性shape、gradient、stroke、corners等。
< android:startColor="#ff8c00"
android:endColor="#FFFFFF"
android:angle="270" />
< android:width="2dp"
android:color="#dcdcdc" />
< android:radius="2dp" />
< android:left="10dp"
android:top="10dp"
android:right="10dp"
android:bottom="10dp" />
對于上面,這條shape的定義,分別為漸變,在gradient中startColor屬性為開始的顏色,endColor為漸變結(jié)束的顏色,下面的angle是角度。接下來是stroke可以理解為邊緣,corners為拐角這里radius屬性為半徑,最后是相對位置屬性padding。
對于一個(gè)Button完整的定義可以為
<xmlns:android="http://schemas.android.com/apk/res/Android">
<android:startColor="#ff8c00"
android:endColor="#FFFFFF"
android:angle="270" />
<android:width="2dp"
android:color="#dcdcdc" />
<android:radius="2dp" />
<android:left="10dp"
android:top="10dp"
android:right="10dp"
android:bottom="10dp" />
<android:startColor="#ffc2b7"
android:endColor="#ffc2b7"
android:angle="270" />
<android:width="2dp"
android:color="#dcdcdc" />
<android:radius="2dp" />
<android:left="10dp"
android:top="10dp"
android:right="10dp"
android:bottom="10dp" />
<android:startColor="#ff9d77"
android:endColor="#ff9d77"
android:angle="270" />
<android:width="2dp"
android:color="#fad3cf" />
<android:radius="2dp" />
<android:left="10dp"
android:top="10dp"
android:right="10dp"
android:bottom="10dp" />
提示,以上幾個(gè)item的區(qū)別主要是體現(xiàn)在state_pressed按下或state_focused獲得焦點(diǎn)時(shí),當(dāng)當(dāng)來判斷顯示什么類型,而沒有state_xxx屬性的item可以看作是常規(guī)狀態(tài)下。
相關(guān)文章
Flutter開發(fā)通用頁面Loading組件示例詳解
這篇文章主要為大家介紹了Flutter開發(fā)通用頁面Loading組件示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-11-11
Assert.assertEquals()方法參數(shù)詳解
本文詳細(xì)講解了Assert.assertEquals()方法參數(shù),文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-12-12
淺談Android IPC機(jī)制之Binder的工作機(jī)制
IPC機(jī)制即為跨進(jìn)程通信,是inter-Process Communication的縮寫。是指兩個(gè)進(jìn)程之間進(jìn)行通信。在說進(jìn)程通信之前,我們的弄明白什么是線程,什么是進(jìn)程。進(jìn)程和線程是兩個(gè)截然不同的概念。本文將介紹Android IPC機(jī)制之Binder的工作機(jī)制。2021-06-06
Android 配置gradle實(shí)現(xiàn)VersionCode自增實(shí)例
今天小編就為大家分享一篇Android 配置gradle實(shí)現(xiàn)VersionCode自增實(shí)例,具有很好的 參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-03-03
Android使用AIDL方式實(shí)現(xiàn)播放音樂案例
這篇文章主要介紹了Android使用AIDL方式實(shí)現(xiàn)播放音樂案例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-04-04
Android基于PhotoView實(shí)現(xiàn)的頭像/圓形裁剪控件
這篇文章主要給大家介紹了關(guān)于Android基于PhotoView實(shí)現(xiàn)的頭像/圓形裁剪控件的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-07-07
Android+Flutter實(shí)現(xiàn)彩虹圖案的繪制
彩虹,是氣象中的一種光學(xué)現(xiàn)象,當(dāng)太陽光照射到半空中的水滴,光線被折射及反射,在天空上形成拱形的七彩光譜。接下來,我們就自己手動(dòng)繪制一下彩虹圖案吧2022-11-11
Android APK優(yōu)化工具Zipalign詳解
本文主要介紹Android APK優(yōu)化工具Zipalign,這里整理了相關(guān)資料,并詳細(xì)介紹如何使用Zipalign工具及使用技巧,有需要的小伙伴可以參考下2016-09-09
Android使用CardView作為RecyclerView的Item并實(shí)現(xiàn)拖拽和左滑刪除
這篇文章主要介紹了Android使用CardView作為RecyclerView的Item并實(shí)現(xiàn)拖拽和左滑刪除,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-11-11

