演示
二、案例
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="8dp"
android:orientation="vertical">
<TextView
android:layout_width="200dp"
android:layout_height="wrap_content"
android:text="圆角虚线" />
<Button
android:id="@+id/Button1"
android:layout_width="100dp"
android:layout_height="40dp"
android:layout_centerInParent="true"
android:layout_marginTop="8dp"
android:background="@drawable/btn_selector"
android:text="hello" />
<TextView
android:layout_width="200dp"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:text="一半是直角 一半是圆角,实线" />
<Button
android:id="@+id/Button2"
android:layout_width="100dp"
android:layout_height="40dp"
android:layout_centerInParent="true"
android:layout_marginTop="8dp"
android:background="@drawable/btn_selector_another"
android:text="hello" />
<TextView
android:layout_width="200dp"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:text="渐变线性背景色" />
<TextView
android:layout_width="200dp"
android:layout_height="40dp"
android:layout_marginTop="8dp"
android:background="@drawable/btn_bg_gradient" />
<TextView
android:layout_width="200dp"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:text="渐变放射性背景色" />
<TextView
android:layout_width="80dp"
android:layout_height="80dp"
android:layout_marginTop="8dp"
android:background="@drawable/btn_bg_gradient_circle" />
<TextView
android:layout_width="200dp"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:text="渐变扇形背景色" />
<TextView
android:layout_width="200dp"
android:layout_height="40dp"
android:layout_marginTop="8dp"
android:background="@drawable/btn_bg_gradient_sweep" />
<TextView
android:layout_width="200dp"
android:layout_height="40dp"
android:layout_marginTop="8dp"
android:background="@drawable/my_layer_list"
android:gravity="center"
android:text="使用layer-list 背景色" />
/>
</LinearLayout>
</ScrollView>
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/btn_bg_normal" android:state_pressed="false" />
<item android:drawable="@drawable/btn_bg_pressed" android:state_pressed="true" />
</selector>
- 一半是直角 一半是圆角,btn_selector_another.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape>
<corners android:bottomLeftRadius="20dp" android:bottomRightRadius="0dp" android:topLeftRadius="20dp" android:topRightRadius="0dp" />
<solid android:color="#FF4081" />
<padding android:bottom="2dp" android:left="2dp" android:right="0dp" android:top="0dp" />
<stroke android:width="1dp" android:color="#4eb621" />
</shape>
</item>
<item android:state_pressed="true">
<shape>
<padding android:bottom="2dp" android:left="2dp" android:right="0dp" android:top="0dp" />
<corners android:bottomLeftRadius="20dp" android:topLeftRadius="20dp" />
<solid android:color="#3F51B5" />
<stroke android:width="1dp" android:color="#4eb621" />
</shape>
</item>
</selector>
- 渐变线性背景色 btn_bg_gradient.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<corners android:radius="10dp" />
<gradient
android:angle="0"
android:type="linear"
android:endColor="@color/colorAccent"
android:startColor="@color/design_default_color_primary" />
</shape>
- 渐变放射性背景色 btn_bg_gradient_circle.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<corners android:radius="40dp" />
<gradient
android:angle="0"
android:useLevel="false"
android:centerColor="@color/design_default_color_primary_dark"
android:centerX="0.5"
android:centerY="0.5"
android:endColor="@color/colorAccent"
android:gradientRadius="100"
android:startColor="@color/design_default_color_primary"
android:type="radial" />
</shape>
- 渐变扇形背景色 btn_bg_gradient_sweep.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<corners android:radius="40dp" />
<gradient
android:endColor="@color/colorAccent"
android:startColor="@color/design_default_color_primary"
android:useLevel="false"
android:type="sweep" />
</shape>
- 使用layer-list 背景色 my_layer_list.xml
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="rectangle">
<solid android:color="@color/design_default_color_secondary" />
</shape>
</item>
<item android:bottom="4dp">
<shape android:shape="rectangle">
<solid android:color="@color/colorAccent" />
</shape>
</item>
</layer-list>