簡述:
我們知道安卓原生的按鈕實在是不堪入目,而面對市場的需求,這麼醜的按鈕是沒有競爭力的,所以乙個可以自定義的好看的按鈕必不可缺。後面還有shape的屬性詳解彙總。
這個實現比較簡單,直接貼**了:
1.首先要在drawable資料夾裡面新增個樣式檔案shapecircle.xml
<?xml version="1.0" encoding="utf-8"?>
2.在button的background屬性裡面呼叫drawable下面的我們設定的樣式xml檔案
效果如圖(**只擷取了其中乙個按鈕的)
1.shape的形狀:
預設是矩形,但是我們可以進行設定,可以設定為矩形(rectangle)、橢圓形(oval)、線性形狀(line)、環形(ring)
其中環形ring有點特殊,一些屬性只有它可以用:
(1)android:innerradius 尺寸,內環的半徑
(2)android:innerradiusratio 浮點型,以環的寬度比率來表示內環的半徑
(3)android:thickness 尺寸,環的厚度
(4)android:thicknessratio 浮點型,以環的寬度比率來表示環的厚度,例如,如果android:thicknessratio=「2」,那麼環的厚度就等於環的寬度除以2。這個值是可以被android:thickness覆蓋的,預設值是3.
2.圓角屬性設定
android:radius 整型 半徑
android:topleftradius 整型 左上角半徑
android:toprightradius 整型 右上角半徑
android:bottomleftradius 整型 左下角半徑
3.內部顏色的填充
android:color 顏色值 填充顏色
4.漸變色設定
(1)android:startcolor 顏色值 起始顏色
(2)android:endcolor 顏色值 結束顏色
(3)android:centercolor 整型 漸變中間顏色,即開始顏色與結束顏色之間的顏色
(4)android:angle 整型 漸變角度(ps:當angle=0時,漸變色是從左向右。 然後逆時針方向轉,當angle=90時為從下往上。angle必須為45的整數倍)
(5)android:type [「linear」 | 「radial」 | 「sweep」] 漸變型別(取值:linear、radial、sweep); linear 線性漸變,這是預設設定;radial 放射性漸變,以開始色為中心。sweep 掃瞄線式的漸變。
(6)android:uselevel [「true」 | 「false」] 如果要使用levellistdrawable物件,就要設定為true。設定為true無漸變。false有漸變色
(7)android:gradientradius 整型 漸變色半徑.當 android:type=「radial」 時才使用。單獨使用 android:type="radial"會報錯。
(8)android:centerx 整型 漸變中心x點座標的相對位置
(9)android:centery 整型 漸變中心y點座標的相對位置
5.內邊距的設定,即比如文字跟邊的距離
android:left 整型 左內邊距
android:top 整型 上內邊距
android:right 整型 右內邊距
android:bottom 整型 下內邊距
6.尺寸大小(就是這個我們自己的樣式框大小)
size 大小
android:width 整型 寬度
android:height 整型 高度
7.描邊的設定,就是我們樣式的邊框
android:width 整型 描邊的寬度
android:color 顏色值 描邊的顏色
android:dashwidth 整型 表示描邊的樣式是虛線的寬度, 值為0時,表示為實線。值大於0則為虛線。
android:dashgap 整型 表示描邊為虛線時,虛線之間的間隔 即「 - - - - 」
安卓自定義屬性運用
1.reference 參考某一資源id。1 屬性定義 background format reference 2 屬性使用 android layout width 42dip android layout height 42dip android background drawable id 2...
安卓自定義view繪製尺寸
我們知道view在螢幕上顯示出來要先經過measure和layout.在呼叫onmeasure int widthspec,int heightspec 方法時,要涉及到measurespec的使用,measurespec有3種模式分別是unspecified,exactly和at most,那麼這...
安卓自定義XML屬性attrs
attrs看字面意思就是一組屬性的集合,那attrs有什麼用呢,在自定義view的時候,一般會自定義一些屬性,通過構造方法中attributeset引數的封裝,讓我們能夠獲取到為view配置的屬性。自定義屬性 1.定義對應的屬性 在values資料夾下新建乙個attar custom.xml檔案 f...