项目中用到了虚线,用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",否则显示出来就是实线