Android 圓角按鈕的實(shí)現(xiàn)代碼
Android 圓角按鈕的實(shí)現(xiàn)
效果圖:
1.在res/drawable目錄下新建按鈕樣式文件 btn_normal.xml(正常狀態(tài)) 和 btn_pressed.xml(按下狀態(tài))。
btn_normal.xml文件:
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <!-- 圓角的半徑 --> <corners android:radius="10dp"/> <!-- 填充顏色 --> <solid android:color="#3a8fea"/> </shape>
btn_pressed.xml文件:
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <!-- 圓角的半徑 --> <corners android:radius="10dp"/> <!-- 填充顏色 --> <solid android:color="#0662f5"/> </shape>
2.在res/drawable目錄下新建樣式文件 btn_selector.xml 文件,定義按鈕的不同狀態(tài)樣式。
btn_selector.xml文件:
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <!-- 正常狀態(tài) --> <item android:drawable="@drawable/btn_normal" android:state_pressed="false"/> <!-- 按下狀態(tài) --> <item android:drawable="@drawable/btn_pressed" android:state_pressed="true"/> </selector>
3.使用按鈕樣式。
activity_button.xml文件:
<?xml version="1.0" encoding="utf-8"?> <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".ButtonActivity"> <Button android:id="@+id/btn1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="30dp" android:layout_marginStart="30dp" android:text="button" android:textColor="#fff" android:background="@drawable/btn_selector" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintTop_toTopOf="parent" /> </android.support.constraint.ConstraintLayout>
android:background=“@drawable/btn_selector”
其中的btn_selector是我們自定義的xml樣式文件。
運(yùn)行結(jié)果圖:
4.給圓角按鈕加上虛線邊框樣式。
btn_normal.xml文件:
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <!-- 圓角的半徑 --> <corners android:radius="10dp"/> <!-- 填充顏色 --> <solid android:color="#3a8fea"/> <!-- 邊框的寬度,每段虛線的長(zhǎng)度,和兩段虛線之間的間隔和顏色 --> <stroke android:width="2dp" android:dashWidth="6dp" android:dashGap="6dp" android:color="#e75050" /> </shape>
運(yùn)行結(jié)果圖:
如果希望按鈕邊框是實(shí)線,那么把dashWidth和dashGap屬性去除即可。
實(shí)線邊框樣式:
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <!-- 圓角的半徑 --> <corners android:radius="10dp"/> <!-- 填充顏色 --> <solid android:color="#3a8fea"/> <!-- 實(shí)線邊框 --> <stroke android:width="2dp" android:color="#e75050" /> </shape>
運(yùn)行結(jié)果圖:
5.實(shí)現(xiàn)局部圓角樣式。
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <!-- 圓角的半徑,左上/右下實(shí)現(xiàn)圓角 --> <corners android:topLeftRadius="10dp" android:bottomRightRadius="10dp"/> <!-- 填充顏色 --> <solid android:color="#3a8fea"/> </shape>
運(yùn)行結(jié)果圖:
6.漸變背景色樣式。
<gradient android:angle="integer" android:centerX="Float" android:centerY="Float" android:centerColor="integer" android:startColor="color" android:endColor="color" android:gradientRadius="integer" android:type=["linear"|"radial"|"sweep"] android:usesLevel=["true"|"false"] />
angle:角度,當(dāng) android:type=“linear”時(shí)有效 ,以45度為單位,逆時(shí)針方向旋轉(zhuǎn)
centerX:Float。漸變色中心的 X 相對(duì)位置( 0-1.0 )。當(dāng) android:type=“linear”時(shí)無(wú)效
centerY:Float。漸變色中心的 Y 相對(duì)位置( 0-1.0 )。當(dāng) android:type=“linear”時(shí)無(wú)效
centerColor:color??蛇x的顏色,出現(xiàn)在 start 和 end 顏色之間。
gradientRadius:Float。漸變色的半徑。當(dāng) android:type=“radial” 時(shí)有效。
startcolor:開始的顏色
endcolor:結(jié)束的顏色
type:漸變色的樣式。有效值為:
“linear”:線性漸變,默認(rèn)值
“radial”:環(huán)形漸變。 start 顏色是處于中間的顏色
“sweep”:扇形漸變
useLevel:Boolean。“ true ”表示可以當(dāng)作 LevelListDrawable 使用
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <!-- 圓角的半徑 --> <corners android:radius="10dp"/> <!-- 填充顏色 --> <solid android:color="#3a8fea"/> <gradient android:angle="180" android:startColor="#f00" android:centerColor="#0f0" android:endColor="#00f" android:type="linear" android:useLevel="true"/> </shape>
運(yùn)行結(jié)果圖:
到此這篇關(guān)于Android 圓角按鈕的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)android 圓角按鈕內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
談?wù)凙ndroid的三種網(wǎng)絡(luò)通信方式
Android平臺(tái)有三種網(wǎng)絡(luò)接口可以使用,他們分別是:java.net.*(標(biāo)準(zhǔn)Java接口)、Org.apache接口和Android.net.*(Android網(wǎng)絡(luò)接口)。本文詳細(xì)的介紹,有興趣的可以了解一下。2017-01-01Android基于ListView實(shí)現(xiàn)類似QQ空間的滾動(dòng)翻頁(yè)與滾動(dòng)加載效果
這篇文章主要介紹了Android基于ListView實(shí)現(xiàn)類似QQ空間的滾動(dòng)翻頁(yè)與滾動(dòng)加載效果,涉及ListView相關(guān)屬性與方法的操作技巧,需要的朋友可以參考下2016-08-08Android通過(guò)手勢(shì)實(shí)現(xiàn)的縮放處理實(shí)例代碼
Android通過(guò)手勢(shì)實(shí)現(xiàn)的縮放處理實(shí)例代碼,需要的朋友可以參考一下2013-05-05Android開發(fā)之HTTP訪問網(wǎng)絡(luò)
這篇文章主要介紹了Android開發(fā)之HTTP訪問網(wǎng)絡(luò)的相關(guān)資料,需要的朋友可以參考下2016-07-07Android TextView漸變顏色和方向及動(dòng)畫效果的設(shè)置詳解
TextView的在安卓中可以理解為一個(gè)文本視圖控件,Android的視圖控件的基類是View類,可以理解的TextView是View的子類。我們通常在.XML布局文件中會(huì)為文本視圖控件指定各種屬性來(lái)設(shè)置它的樣式,今天我們要講的當(dāng)然不是傳統(tǒng)常見的那種,將會(huì)帶有漸變顏色和方向及動(dòng)畫效果2021-11-11