为图片添加背景
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape
android:shape="rectangle">
<stroke
android:width="1px"
android:color="@color/d9d9d9"/>
<solid android:color="@color/white"/>
<corners
android:radius="7dp"/>
</shape>
</item>
<item
android:width="20dp"
android:height="20dp"
android:gravity="center">
<bitmap android:src="@drawable/com_message_detail_camera"/>
</item>
</layer-list>
四角设置相同弧度
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
// 角度
<corners
android:radius="7dp"/>
// 填充色
<solid
android:color="#10af55"/>
// 边框
<stroke
android:color="#f00"
android:width="3dp"/>
</shape>
四角弧度不同
// 方法一
<?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/white"/>
<corners android:bottomLeftRadius="8dp"
android:bottomRightRadius="8dp"/>
</shape>
</item>
</layer-list>
// 方法二
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#3b7bb1"/>
<corners android:topLeftRadius="8dp" android:topRightRadius="8dp"
android:bottomLeftRadius="0dp" android:bottomRightRadius="0dp"/>
</shape>
状态不同图片不同
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/com_audio_quite_icon" android:state_selected="true"/>
<item android:drawable="@drawable/com_audio_icon"/>
</selector>
画圆,椭圆
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<solid android:color="@android:color/holo_red_light"/>
<size android:width="30dp"
android:height="30dp"/>
</shape>
<?xml version="1.0" encoding="utf-8"?>
<shape android:shape="oval"
xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#fff"/>
<stroke android:color="#004b7c" android:width="1dp"/>
</shape>
多层布局的叠加,后者覆盖前者
<?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="#0f0"/>
</shape>
</item>
<item android:left="10dp"
android:right="10dp"
>
<shape
android:shape="rectangle">
<solid android:color="#f00"/>
</shape>
</item>
<item
android:bottom="10px">
<shape
android:shape="rectangle">
<solid android:color="#00f"/>
</shape>
</item>
</layer-list>
闪闪的效果
帧动画,其实就是多幅图片在不同时间的叠加
从第一个开始每隔100ms叠加上一个图片,循环
<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
android:oneshot="false">
<!-- animation-list 帧动画 -->
<!-- android:oneshot的值为 false代表播放多次,true代表只播放一次 -->
<!-- duration代表每张图片的播放时间 ,定义一个持续时间为50毫秒的动画帧 -->
<item
android:drawable="@mipmap/point_img1"
android:duration="100" />
<item
android:drawable="@mipmap/point_img2"
android:duration="100" />
<item
android:drawable="@mipmap/point_img3"
android:duration="100" />
<item
android:drawable="@mipmap/point_img4"
android:duration="100" />
<item
android:drawable="@mipmap/point_img5"
android:duration="100" />
<item
android:drawable="@mipmap/point_img6"
android:duration="100" />
<item
android:drawable="@mipmap/point_img7"
android:duration="100" />
<item
android:drawable="@mipmap/point_img8"
android:duration="100" />
<item
android:drawable="@mipmap/point_img9"
android:duration="100" />
<item
android:drawable="@mipmap/point_img10"
android:duration="100" />
<item
android:drawable="@mipmap/point_img11"
android:duration="100" />
<item
android:drawable="@mipmap/point_img12"
android:duration="100" />
<item
android:drawable="@mipmap/point_img13"
android:duration="100" />
</animation-list>
进度条背景框
// po_seekbar.xml
<?xml version="1.0" encoding="utf-8"?>
<layer-list
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@android:id/background">
<shape>
<solid android:color="#5000" />
<corners android:radius="10dp"/>
</shape>
</item>
<item android:id="@android:id/secondaryProgress">
<clip>
<shape>
<solid android:color="#5000" />
<corners android:radius="10dp"/>
</shape>
</clip>
</item>
<item android:id="@android:id/progress">
<clip>
<shape>
<solid android:color="#417ea5" />
<corners android:radius="2dp"/>
</shape>
</clip>
</item>
</layer-list>
// android:thumb="@drawable/seekbar_thumb":上面滑动的小圆圈
<SeekBar
android:layout_width="300dp"
android:layout_height="wrap_content"
android:focusable="true"
android:max="100"
android:progress="10"
android:maxHeight="4dp"
android:minHeight="4dp"
android:progressDrawable="@drawable/po_seekbar"
android:thumb="@drawable/seekbar_thumb" />
未完待续...