shape 的使用(drawable xml檔案中定義的一個幾何圖形)
在res/drawable資料夾下建立一個名為gradient_box的xml檔案:
<?xml version="1.0" encoding="utf-8"?>
<!-- shape drawable xml檔案中定義的一個幾何圖形,定義在res/drawable/目錄下,檔名filename稱為訪問的資源ID
在程式碼中通過R.drawable.filename進行訪問-->
<!--
android:shape=["rectangle" | "oval" | "line" | "ring"]
shape的形狀,預設為矩形,可以設定為矩形(rectangle)、橢圓形(oval)、線性形狀(line)、環形(ring)
下面的屬性只有在android:shape="ring時可用:
android:innerRadius 尺寸,內環的半徑。
android:innerRadiusRatio 浮點型,以環的寬度比率來表示內環的半徑,
例如,如果android:innerRadiusRatio,表示內環半徑等於環的寬度除以5,這個值是可以被覆蓋的,預設為9.
android:thickness 尺寸,環的厚度
android:thicknessRatio 浮點型,以環的寬度比率來表示環的厚度,例如,如果android:thicknessRatio="2",
那麼環的厚度就等於環的寬度除以2。這個值是可以被android:thickness覆蓋的,預設值是3.
android:useLevel boolean值,如果當做是LevelListDrawable使用時值為true,否則為false.
-->
<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<!--
圓角
android:radius 整型 半徑
android:topLeftRadius 整型 左上角半徑
android:topRightRadius 整型 右上角半徑
android:bottomLeftRadius 整型 左下角半徑
android:bottomRightRadius 整型 右下角半徑
-->
<corners
android:radius="8dp"
android:topLeftRadius="5dp"
android:topRightRadius="15dp"
android:bottomLeftRadius="20dp"
android:bottomRightRadius="25dp"
/>
<!--
漸變色
android:startColor 顏色值 起始顏色
android:endColor 顏色值 結束顏色
android:centerColor 整型 漸變中間顏色,即開始顏色與結束顏色之間的顏色
android:angle 整型 漸變角度(PS:當angle=0時,漸變色是從左向右。 然後逆時針方向轉,當angle=90時為從下往上。angle必須為45的整數倍)
android:type ["linear" | "radial" | "sweep"] 漸變型別(取值:linear、radial、sweep)
linear 線性漸變,這是預設設定
radial 放射性漸變,以開始色為中心。
sweep 掃描線式的漸變。
android:useLevel ["true" | "false"] 如果要使用LevelListDrawable物件,就要設定為true。設定為true無漸變。false有漸變色
android:gradientRadius 整型 漸變色半徑.當 android:type="radial" 時才使用。單獨使用 android:type="radial"會報錯。
android:centerX 整型 漸變中心X點座標的相對位置
android:centerY 整型 漸變中心Y點座標的相對位置
-->
<gradient
android:startColor="#FFFF0000"
android:endColor="#80FF00FF"
android:angle="45"
/>
<!--
內邊距,即內容與邊的距離
android:left 整型 左內邊距
android:top 整型 上內邊距
android:right 整型 右內邊距
android:bottom 整型 下內邊距
-->
<padding
android:left="10dp"
android:top="10dp"
android:right="10dp"
android:bottom="10dp"
/>
<!--
size 大小
android:width 整型 寬度
android:height 整型 高度
-->
<size
android:width="600dp"
/>
<!--
內部填充
android:color 顏色值 填充顏色
-->
<solid
android:color="#ffff9d77"
/>
<!--
描邊
android:width 整型 描邊的寬度
android:color 顏色值 描邊的顏色
android:dashWidth 整型 表示描邊的樣式是虛線的寬度, 值為0時,表示為實線。值大於0則為虛線。
android:dashGap 整型 表示描邊為虛線時,虛線之間的間隔 即“ - - - - ”
-->
<stroke
android:width="2dp"
android:color="#dcdcdc"
/>
</shape>