Android实现自定义虚线
方式一:利用shape绘制
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="line">
<stroke
android:width="3px"
android:color="#FF0000"
android:dashWidth="10px"
android:dashGap="10px" />
</shape>
下面对属性进行一下介绍:
width:线段的高度
color:线段的颜色
dashWidth:线段宽度
dashGap:线段之间间隔宽度
然后在布局文件中使用如下:
<View
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/dash_view"
android:layerType="software"/>
在4.0的设备上,虚线会变成实线,我们需要加入 android:layerType=”software”属性
方式二:自定义View绘制虚线
1.引入
dependencies {
compile 'com.fang:dashview:v1.0.0'
}
2.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent">
<!--
dashWidth:两段线段之间的间距
lineWidth:每条线段宽度
lineColor:线段颜色
dashOrientation:虚线方向 0,水平,1,竖直
lineHeight:线段高度
-->
<com.fang.dashview.DashView
android:layout_width="wrap_content"
android:layout_height="300dp"
android:layout_marginLeft="40dp"
android:layout_marginTop="100dp"
app:dashOrientation="1"
app:dashWidth="2dp"
app:lineColor="@android:color/holo_green_light"
app:lineHeight="1dp"
app:lineWidth="4dp" />
</RelativeLayout>