shape使用、漸變色、分割線、邊框、半透明、半透明陰影效果。
首先簡單了解一下shape中常見的屬性。(詳細介紹參看 api文檔)
<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape=["rectangle" | "oval" | "line" | "ring"] > --- 默認為rectangle <corners -- shape=“rectangle”時使用, android:radius="integer" -- 半徑,會被下邊的屬性覆蓋,默認為1dp, android:topLeftRadius="integer" android:topRightRadius="integer" android:bottomLeftRadius="integer" android:bottomRightRadius="integer" /> <gradient -- 漸變 android:angle="integer" android:centerX="integer" android:centerY="integer" android:centerColor="integer" android:endColor="color" android:gradientRadius="integer" android:startColor="color" android:type=["linear" | "radial" | "sweep"] android:useLevel=["true" | "false"] /> <padding android:left="integer" android:top="integer" android:right="integer" android:bottom="integer" /> <size -- 指定大小,一般用在imageview配合scaleType屬性使用。大小一般會適配滴 android:width="integer" android:height="integer" /> <solid -- 填充顏色,可是是十六進制顏色。(比如想設置半透明效果,直接使用十六就只就OK) android:color="color" /> <stroke -- 指定邊框,border,dashWidth和dashGap有一個為0dp則為實線 android:width="integer" android:color="color" android:dashWidth="integer" -- 虛線寬度 android:dashGap="integer" /> -- 虛線間隔寬度</shape>
注意:
<corners>
1、android:radius,半徑,會被下邊的單個角度半徑屬性覆蓋,默認為1dp,
2、在使用時,如果單獨設置四個角度,又大小不一致時,eclipse的graphics preview會報錯。但是直接真機運行即可。(比如實線上邊直角,下邊屈角的效果)
<size>
	Note: The shape scales to the size of the container View proportionate to the dimensions defined here, by default. When you use the shape in an ImageView, you can restrict scaling by setting the android:scaleType to "center"
舉個栗子:
	1、漸變色 res/drawable/gradient_box.xml:
<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <gradient android:startColor="#FFFF0000" android:endColor="#80FF00FF" android:angle="45"/> <padding android:left="7dp" android:top="7dp" android:right="7dp" android:bottom="7dp" /> <corners android:radius="8dp" /></shape>
如圖:
2、白色邊框、半透明效果
<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" > <corners android:radius="16dp" /> <!-- 這是半透明,還可以設置全透明,那就是白色邊框的效果了 --> <solid android:color="#80065e8d" /> <stroke android:dashGap="0dp" android:width="4dp" android:color="@android:color/white" /></shape>
如圖:
3、分割線效果:
<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="line" > <stroke android:width="4dp" android:color="@android:color/black" /></shape>
如圖:
4、單邊屈角效果
<?xml version="1.0" encoding="utf-8"?><shape android:shape="rectangle" xmlns:android="http://schemas.android.com/apk/res/android"> <corners android:topLeftRadius="5dp" android:topRightRadius="5dp" android:bottomLeftRadius="30dp" android:bottomRightRadius="30dp"/> <!-- 這是半透明,還可以設置全透明,那就是白色邊框的效果了 --> <solid android:color="#ff065e8d" /> <stroke android:dashGap="0dp" android:width="4dp" android:color="@android:color/white" /> </shape>
如圖:
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。
新聞熱點
疑難解答