老实说,第一次看到这个需求的时候,第一反应就是Canvas只有drawLine方法,并没有drawDashLine方法啊!这咋整啊,难道要我自己做个遍历不断的drawLine?不到1秒,我就放弃这个想法了,因为太恶心了。方法肯定是有的,只不过我不知道而已。
最简单的方法是利用ShapeDrawable,比如说你想用虚线要隔开两个控件,就可以在这两个控件中加个View,然后给它个虚线背景。嗯,理论上就是这样子的,实现上也很简单。
android:shape="line">
android:width="1dp"
android:color="@color/dash_line"
android:dashGap="2dp"
android:dashWidth="3dp"/>
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="wrap_content"
android:orientation="vertical"
android:gravity="center"
tools:context="hope.example.dashlinedemo.MainActivity">
android:layout_width="match_parent"
android:layout_height="40dp"
android:gravity="center"
android:text="分享给微信好友"/>
android:layout_width="match_parent"
android:layout_height="2dp"
android:background="@draw