(1)在開發中,我們經常會遇到一些純色或帶邊框的簡單樣式的按鈕或div,很多時候,都是用九宮格的背景圖片來貼上去。但仔細想來,使用圖片也帶來了一些性能上的問題,包括過多的圖片文件會導致渲染頁面的時候需要加載渲染很多圖片,以及圖片也會帶來安裝包的增加,最后就是用圖片很麻煩的說,就如能夠用xml文件配出來,就不用再等UED了。
(2)按鈕文字顏色在不同的狀態下也不一樣,最開始比較傻,直接通過代碼來動態改變,想想就惡心。其實這也是可以通過XML配置出來的。
shape有哪些、好,下面就進入正題吧。
注:以下并不局限于按鈕,照樣可以用于各種view的background。
安卓shape?一)、配置按鈕背景
Android能夠支持shape、selector等。shape顧名思義就是定義一個形狀,包括邊框、填充色、圓角等。如下實例:
shapefile格式。
xmlns:android="http://schemas.android.com/apk/res/android"
android set?android:shape="rectangle">
android:endColor="#80FF00FF"
android:angle="270"?/>
android:top="20dp"?android:right="7dp"
android:bottom="7dp"?/>
android:color="#b4ffffff"
android:dashWidth="3.0dip"
android:dashGap="0.0dip"?/>
簡單說明下:
gradient???-- 對應顏色漸變。 startcolor、endcolor就不多說了。?android:angle 是指從哪個角度開始變。
solid ? ? ?-- ?填充色。
stroke ? -- ?邊框,其中width就是邊框線的寬度。
corners ?-- ?是否添加圓角,radius就是圓角的半徑。
padding ? -- 定義內容離邊界的距離。 與android:padding_left、android:padding_right這些是一個道理。
細心的讀者就會想到,這個shap好像只描述了一種狀態啊,怎么表示按鈕的其他狀態呢?那就得用到selector了。
selector顧名思義表示選擇器的意思,就是能夠根據不同的狀態選擇響應的參數。好了,直接亮代碼吧,多說無益:
效果就不再展示了,就是一個藍色的按鈕。
二)、配置按鈕的顏色方案
我們經常會遇到常態是按鈕背景是深的,按下去后是淺色背景,這時候就需要按鈕文字顏色也能夠隨之改變,否則效果就大打折扣了。
肯定,你也會想到其實只要和selector配合使用就好了,如下:
使用的時候在android:textColor="@drawable/****"就好了。
好了,具體怎么靈活使用以及他們的含義就自己用實踐去摸索吧。
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态