项目中用到了虚线,用shape做的,死活显示不出来,试了网上各种方法,也试了自定义view,太难看,还是回到shape,试了半天最终解决,mark一下,希望其他人少踩点坑。
先贴代码吧
dashed_line_grey.xml
<?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/bg3"
android:dashGap="2dp"
android:dashWidth="3dp" />
<!-- 虚线的高度 -->
<size android:height="1dp" />
</shape>
layout中使用
<pre name="code" class="html"> <View
android:layout_width="match_parent"
android:layout_height="2dp"
android:layout_marginLeft="15dp"
android:layout_marginRight="15dp"
android:layout_marginTop="25dp"
android:background="@drawable/dashed_line_grey"
android:layerType="software" />
解决方案:
layout_height一定要大于虚线的高度虚线才会显示出来,等于都不行
4.0以上系统要设置layerType="software",否则显示出来就是实线