在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...