Android UI:XML文件配置按钮等背景方案
2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>
? (1)在開發(fā)中,我們經(jīng)常會(huì)遇到一些純色或帶邊框的簡(jiǎn)單樣式的按鈕或div,很多時(shí)候,都是用九宮格的背景圖片來(lái)貼上去。但仔細(xì)想來(lái),使用圖片也帶來(lái)了一些性能上的問(wèn)題,包括過(guò)多的圖片文件會(huì)導(dǎo)致渲染頁(yè)面的時(shí)候需要加載渲染很多圖片,以及圖片也會(huì)帶來(lái)安裝包的增加,最后就是用圖片很麻煩的說(shuō),就如能夠用xml文件配出來(lái),就不用再等UED了。
? ? (2)按鈕文字顏色在不同的狀態(tài)下也不一樣,最開始比較傻,直接通過(guò)代碼來(lái)動(dòng)態(tài)改變,想想就惡心。其實(shí)這也是可以通過(guò)XML配置出來(lái)的。
? ??
? ? 好,下面就進(jìn)入正題吧。
注:以下并不局限于按鈕,照樣可以用于各種view的background。
一)、配置按鈕背景
? ? Android能夠支持shape、selector等。shape顧名思義就是定義一個(gè)形狀,包括邊框、填充色、圓角等。如下實(shí)例:
| |
簡(jiǎn)單說(shuō)明下:
gradient???-- 對(duì)應(yīng)顏色漸變。 startcolor、endcolor就不多說(shuō)了。?android:angle 是指從哪個(gè)角度開始變。
solid ? ? ?-- ?填充色。
stroke ? -- ?邊框,其中width就是邊框線的寬度。
corners ?-- ?是否添加圓角,radius就是圓角的半徑。
padding ? -- 定義內(nèi)容離邊界的距離。 與android:padding_left、android:padding_right這些是一個(gè)道理。
細(xì)心的讀者就會(huì)想到,這個(gè)shap好像只描述了一種狀態(tài)啊,怎么表示按鈕的其他狀態(tài)呢?那就得用到selector了。
selector顧名思義表示選擇器的意思,就是能夠根據(jù)不同的狀態(tài)選擇響應(yīng)的參數(shù)。好了,直接亮代碼吧,多說(shuō)無(wú)益:
| <?xml?version="1.0"?encoding="utf-8"?>
<selector?xmlns:android="http://schemas.android.com/apk/res/android"><item?android:state_pressed="true"><shape?android:shape="rectangle"><solid?android:color="#53cbff"?/><corners?android:radius="3dp"?/></shape>??????</item><item?android:state_selected="true"><shape?android:shape="rectangle"><solid?android:color="#53cbff"?/><corners?android:radius="3dp"?/></shape></item><item><shape?android:shape="rectangle"><solid?android:color="#44b2ff"?/><corners?android:radius="3dp"?/></shape></item>
</selector> |
效果就不再展示了,就是一個(gè)藍(lán)色的按鈕。
二)、配置按鈕的顏色方案
? ? 我們經(jīng)常會(huì)遇到常態(tài)是按鈕背景是深的,按下去后是淺色背景,這時(shí)候就需要按鈕文字顏色也能夠隨之改變,否則效果就大打折扣了。
? ? 肯定,你也會(huì)想到其實(shí)只要和selector配合使用就好了,如下:
<?xml?version="1.0"?encoding="utf-8"?> <selector?xmlns:android="http://schemas.android.com/apk/res/android"><item?android:state_focused="true"?android:color="#ffffff"/><item?android:state_selected="true"?android:color="#ffffff"/><item?android:state_pressed="true"?android:color="#ffffff"/><item?android:color="#aaaaaa"/> </selector>使用的時(shí)候在android:textColor="@drawable/****"就好了。
好了,具體怎么靈活使用以及他們的含義就自己用實(shí)踐去摸索吧。
轉(zhuǎn)載于:https://my.oschina.net/cheneywangc/blog/195731
總結(jié)
以上是生活随笔為你收集整理的Android UI:XML文件配置按钮等背景方案的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Throwable、Error、Exce
- 下一篇: Android Sdcard 可用空间大