简单的只能直接上代码了:
效果图:
1.drawable中的文件:dotted_line.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="3dp"
android:color="@color/gray_six"
android:width="1dp"/>
<size android:height="1dp"/>
</shape>
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="line">
<stroke
android:width="1dp"
android:color="@color/colorGrey"
android:dashGap="12dp"
android:dashWidth="6dp"
android:layerType="software"/>
<!--破折线的宽度为dashWith,破折线之间的空隙的宽度为dashGap,当dashGap=0dp时,为实线;
关于4.0以上设备虚线会变实线的问题,xml中可以添加android:layerType="software",
代码中可以添加view.setLayerType(View.LAYER_TYPE_SOFTWARE, null);-->
<!-- 虚线的高度 -->
<size android:height="1dp" />
</shape>
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="line" >
<stroke
android:dashGap="2dp"
android:dashWidth="4dp"
android:width="1dp"
android:color="#999999" />
<!-- 虚线的高度 -->
<size android:height="1dp" />
</shape>
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="line" >
<!-- 显示一条虚线,破折线的宽度为dashWith,破折线之间的空隙的宽度为dashGap,当dashGap=0dp时,为实线 -->
<stroke
android:dashGap="2dp"
android:dashWidth="2dp"
android:color="#000" />
<!-- 虚线的高度 -->
<size android:height="1dp" />
</shape>
上面的shape选一个自己想用的即可,布局引用中控件的高度要大于虚线的高度才能显示,一定要加上 android:layerType="software" ,不然的话你会发现手机上显示的时候的是实线。
引用的话直接在布局中操作,如下:
android:background="@drawable/引用的shape名称"