Android 圓角按鈕的實現(xiàn)代碼
Android 圓角按鈕的實現(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樣式文件。
運行結果圖:

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"/>
<!-- 邊框的寬度,每段虛線的長度,和兩段虛線之間的間隔和顏色 -->
<stroke
android:width="2dp"
android:dashWidth="6dp"
android:dashGap="6dp"
android:color="#e75050" />
</shape>運行結果圖:

如果希望按鈕邊框是實線,那么把dashWidth和dashGap屬性去除即可。
實線邊框樣式:
<?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"/>
<!-- 實線邊框 -->
<stroke
android:width="2dp"
android:color="#e75050" />
</shape>運行結果圖:

5.實現(xiàn)局部圓角樣式。
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<!-- 圓角的半徑,左上/右下實現(xiàn)圓角 -->
<corners
android:topLeftRadius="10dp"
android:bottomRightRadius="10dp"/>
<!-- 填充顏色 -->
<solid android:color="#3a8fea"/>
</shape>運行結果圖:

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:角度,當 android:type=“linear”時有效 ,以45度為單位,逆時針方向旋轉
centerX:Float。漸變色中心的 X 相對位置( 0-1.0 )。當 android:type=“linear”時無效
centerY:Float。漸變色中心的 Y 相對位置( 0-1.0 )。當 android:type=“linear”時無效
centerColor:color??蛇x的顏色,出現(xiàn)在 start 和 end 顏色之間。
gradientRadius:Float。漸變色的半徑。當 android:type=“radial” 時有效。
startcolor:開始的顏色
endcolor:結束的顏色
type:漸變色的樣式。有效值為:
“linear”:線性漸變,默認值
“radial”:環(huán)形漸變。 start 顏色是處于中間的顏色
“sweep”:扇形漸變
useLevel:Boolean。“ true ”表示可以當作 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>運行結果圖:

到此這篇關于Android 圓角按鈕的實現(xiàn)的文章就介紹到這了,更多相關android 圓角按鈕內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Android仿微信朋友圈實現(xiàn)滾動條下拉反彈效果
這篇文章主要為大家介紹了Android仿微信朋友圈實現(xiàn)滾動條下拉反彈效果,感興趣的小伙伴們可以參考一下2016-01-01
Android開發(fā)RecyclerView性能優(yōu)化之異步預加載
這篇文章主要介紹了Android開發(fā)RecyclerView性能優(yōu)化之異步預加載實現(xiàn)解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-06-06
android開發(fā)教程之獲取power_profile.xml文件的方法(android運行時能耗值)
在Android手機中,對于手機中的每個部件(cpu、led、gps、3g等等)運行時對應的能耗值都放在power_profile.xml文件中2014-02-02
Android中AlertDilog顯示簡單和復雜列表的方法
這篇文章主要介紹了Android中AlertDialog顯示簡單和復雜列表的方法,結合實例形式分析了Android的AlertDialog創(chuàng)建列表顯示對話框的相關方法與常見操作技巧,需要的朋友可以參考下2016-08-08
android關于native中Thread類的使用源碼解析
本文介紹了Android Native中Thread的使用,通過main.cpp啟動線程,TestThread類依次調用onFirstRef、readyToRun和threadLoop方法,展示線程生命周期及執(zhí)行流程,感興趣的朋友跟隨小編一起看看吧2025-06-06
[Alibaba-ARouter]淺談簡單好用的Android頁面路由框架
這篇文章主要介紹了[Alibaba-ARouter]淺談簡單好用的Android頁面路由框架,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-11-11
Android自定義組合控件之自定義下拉刷新和左滑刪除實例代碼
最近做了個項目,其中有項目需求,用到下拉刷新和左滑刪除,網上沒有找到比較理想的解決辦法。下面小編給大家分享我的一個小demo有關Android自定義組合控件之自定義下拉刷新和左滑刪除實例代碼,需要的朋友參考下2016-04-04

