1、虚线
res/drawable/shape_test.xml文件:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="line" >
<stroke
android:dashGap="3dp"
android:dashWidth="6dp"
android:width="1dp"
android:color="@android:color/black" />
<!-- 虚线的高度 -->
<size android:height="1dp" />
</shape>
注意:如果在android 6.0上没有效果可以在代码中写
line.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
或者在布局文件中加入
android:layerType="software"
效果:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<View
android:layout_width="match_parent"
android:layout_height="5dp"
android:layout_gravity="center_vertical"
android:background="@drawable/shape_test" />
</FrameLayout>
2、三角形
res/drawable/shape_test.xml文件:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<rotate
android:fromDegrees="45"
android:toDegrees="45"
android:pivotX="-40%"
android:pivotY="87%">
<shape android:shape="rectangle">
<solid android:color="@android:color/black" />
<stroke
android:width="0.5dp"
android:color="@android:color/black" />
</shape>
</rotate>
</item>
</layer-list>
效果:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<View
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_gravity="center"
android:background="@drawable/shape_test" />
</FrameLayout>
3、圆形
res/drawable/shape_test.xml文件:
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval"
android:useLevel="false" >
<solid android:color="@android:color/transparent" />
<stroke
android:dashGap="2dp"
android:dashWidth="2dp"
android:width="0.5dp"
android:color="@android:color/black" />
</shape>
效果:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<View
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_gravity="center"
android:background="@drawable/shape_test" />
</FrameLayout>
4、圆角矩形
res/drawable/shape_test.xml文件:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
<!-- 实心 -->
<solid android:color="@android:color/transparent" />
<!-- 渐变 -->
<gradient
android:angle="90"
android:endColor="@android:color/black"
android:startColor="@android:color/white" />
<!-- 描边 -->
<stroke
android:width="1dp"
android:color="@android:color/black" />
<corners android:radius="5dp" />
<!--可以设置边距
<padding
android:bottom="10dp"
android:left="10dp"
android:right="10dp"
android:top="10dp" />
-->
</shape>
效果:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<View
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_gravity="center"
android:background="@drawable/shape_test" />
</FrameLayout>
5、按钮触发效果
res/color/color_test.xml文件:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:color="@android:color/holo_blue_bright"
android:state_focused="true"
android:state_pressed="true"
/>
<item
android:color="@android:color/holo_blue_bright"
android:state_focused="false"
android:state_pressed="true"
/>
<item
android:color="@android:color/holo_blue_bright"
android:state_focused="true"
/>
<item
android:color="@android:color/holo_blue_dark"
android:state_focused="false"
android:state_pressed="false"
/>
</selector>
效果:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="点击变色"
android:layout_gravity="center"
android:textColor="@color/color_test" />
</FrameLayout>
6、简单动画
<animation-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:drawable="@mipmap/loading_01"
android:duration="200" />
<item
android:drawable="@mipmap/loading_02"
android:duration="200" />
<item
android:drawable="@mipmap/loading_03"
android:duration="200" />
<item
android:drawable="@mipmap/loading_04"
android:duration="200" />
<item
android:drawable="@mipmap/loading_05"
android:duration="200" />
<item
android:drawable="@mipmap/loading_06"
android:duration="200" />
<item
android:drawable="@mipmap/loading_07"
android:duration="200" />
<item
android:drawable="@mipmap/loading_08"
android:duration="200" />
<item
android:drawable="@mipmap/loading_09"
android:duration="200" />
<item
android:drawable="@mipmap/loading_10"
android:duration="200" />
<item
android:drawable="@mipmap/loading_11"
android:duration="200" />
<item
android:drawable="@mipmap/loading_12"
android:duration="200" />
</animation-list>
在代码中写入
AnimationDrawable an = (AnimationDrawable) loding.getBackground();
an.start();