形状器最简单的就是设置四个角的弧度和填充的颜色
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">//圆角
<corners android:topLeftRadius="5dp" android:topRightRadius="2dp" android:bottomLeftRadius="2dp" android:bottomRightRadius="5dp" />//设置四个角的弧度
<solid android:color="#D7FF447E"/>//填充颜色
</shape>
或者corners这样子设置:默认设置四个角的
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
<corners android:radius="1000dp"/>//这个不用一个角一个角的设置
<solid android:color="#94F691"/>
</shape>
使用方法:textview用background设置形状器即可。src属性放图片
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<corners android:radius="20dp" />
<stroke
android:width="1dp"
android:color="@color/colorAccent" />
<solid android:color="@color/white" />
</shape>
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
//layer-list可以实现堆叠效果的,相当于帧布局了
<item>//每一个item实现一个效果
<shape>//这个item是实现形状的
<corners android:radius="20dp" />
<stroke android:color="@color/colorAccent" android:width="1dp"/>
<solid android:color="@color/white" />
</shape>
</item>
<item android:drawable="@mipmap/icon_gift_pull_down" android:right="10dp" android:gravity="end|center_vertical"/>//这个item是让布局的后面添加一个图标
</layer-list>
效果如下
选择器是差不多一个思路
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_checked="true">
<layer-list>
<item>
<shape android:shape="oval">
<size android:width="18dp" android:height="18dp" />
<stroke android:width="1dp" android:color="#B344FF" />
<solid android:color="#B344FF" />
</shape>
</item>
<item android:drawable="@mipmap/ic_checked_1" />
</layer-list>
</item>
<item>
<shape android:shape="oval">
<size android:width="18dp" android:height="18dp" />
<stroke android:width="1dp" android:color="#B344FF" />
<solid android:color="#FFFFFF" />
</shape>
</item>
</selector>