Android Shape自定義純色圓角按鈕

2021-09-23 22:54:20 字數 2965 閱讀 3340

在android開發中,為響應美化應用中控制項的效果,使用shape定義圖形效果,可以解決過多的問題。

首先看一下效果圖:

整個頁面布局為:

<?xml version="1.0" encoding="utf-8"?>

首先我們看看這個自定義的樣式:

其中重點關注的就是它的backgroud屬性了。

selector_red_corners_button.xml

<?xml version="1.0" encoding="utf-8"?>

shape_red_corners_button_pressed.xml

<?xml version="1.0" encoding="utf-8"?>

shape_red_corners_button.xml

<?xml version="1.0" encoding="utf-8"?>

其中圓角弧度的大小可以通過修改android:radius="20.0px"的大小來控制。

#ffb52121

#ffcd2222

shape的屬性:

描述:內部填充

屬性:android:color 填充顏色

描述:大小

屬性:android:width 寬

android:height 高

描述:漸變色

屬性:android:startcolor漸變起始顏色

android:endcolor漸變結束顏色

android:centercolor漸變中間顏色

android:angle 漸變的角度,angle=0時,漸變色是從左向右,然後逆時針方向轉;當angle=90時,漸變色從上往下。angle必然是45的倍數

android:type 漸變型別:linear(線性)、radial(放射性,以開始色為中心)、sweep(掃瞄線式漸變)

android:userlevel如果要使用levellistdrawable物件,就要設定為true。設定true無漸變色,false有漸變色

android:grdientradial漸變半徑,只有設定type為radial時,此值才生效

android:centerx 漸變中心x點座標的相對位置

android:centery 漸變中心y點座標的相對位置 

描述:描邊

屬性: 

android:width 描邊寬度

android:color 描邊顏色

android:dashwidth描邊樣式為虛線時的寬度,值為0時為實線,值大於0時為虛線

android:dashgap 描邊為虛線時,虛線之間的間隔

描述:圓角

屬性:android:radius 四個角半徑值

android:topleftradius左上角半徑值

android:toprightradius右上角半徑值

android:bottomleftradius右下角半徑值

android:bottomrightradius左下角半徑值

描述:內邊距

屬性:android:left 左內邊距

android:right 右內邊距

android:top 上內邊距

android:bottom 下內邊距

例項**

[html]view plain

copy

xmlversion

="1.0"

encoding

="utf-8"

?>

<

shape

xmlns:android

="">

<

corners

android:radius

="5dp"

/>

<

size

android:height

="30dp"

android:width

="20dp"

/>

<

gradient

android:startcolor

="#9933cc"

android:endcolor

="#aa66cc"

android:angle

="90"

/>

<

padding

android:left

="5dp"

android:right

="5dp"

android:top

="5dp"

android:bottom

="5dp"

/>

shape

>

[html]view plain

copy

<

button

android:id

="@+id/btn"

android:layout_width

="wrap_content"

android:layout_height

="wrap_content"

android:layout_below

="@+id/tv_test"

android:background

="@drawable/btn_shape"

android:text

="按鈕"

/>

自定義 如何自定義協議

何為自定義協議,其實是相對標準協議來說的,這裡主要針對的是應用層協議 常見的標準的應用層協議如http ftp smtp等,如果我們在網路通訊的過程中不去使用這些標準協議,那就需要自定義協議,比如我們常用的rpc框架 dubbo,thrift 分布式快取 redis,memcached 等都是自定義...

自定義控制項 自定義鐘錶

private context mcontext 畫筆 private paint mpaint 控制項的寬 private int mwidth x方向的圓心座標 private int center 鐘錶的半徑 private int mradio 圓環的寬 private int stroke...

自定義控制項及自定義屬性

自定義控制項在android開發中的重要性,是不言而喻,眾人皆知的。希望通過這二天的學習,能讓大家了解自定義控制項的原理,熟悉自定義控制項的使用步驟,並能寫出一些普通的效果。內容介紹 1 使用系統控制項,實現自定義的效果,案例有 優酷環形選單 廣告條 viewpager 下拉列表 spinner 2...