Android虚线不显示

项目中用到了虚线,用shape做的,死活显示不出来,试了网上各种方法,也试了自定义view,太难看,还是回到shape,试了半天最终解决,mark一下,希望其他人少踩点坑。

先贴代码吧

dashed_line_grey.xml

[html]  view plain  copy
 print ?
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <shape xmlns:android="http://schemas.android.com/apk/res/android"  
  3.     android:shape="line">  
  4.     <stroke  
  5.         android:width="1dp"  
  6.         android:color="@color/bg3"  
  7.         android:dashGap="2dp"   
  8.         android:dashWidth="3dp" />  
  9.     <!-- 虚线的高度 -->  
  10.     <size android:height="1dp" />  
  11. </shape>   

layout中使用

[html]  view plain  copy
 print ?
  1. <pre name="code" class="html">        <View  
  2.             android:layout_width="match_parent"  
  3.             android:layout_height="2dp"  
  4.             android:layout_marginLeft="15dp"  
  5.             android:layout_marginRight="15dp"  
  6.             android:layout_marginTop="25dp"  
  7.             android:background="@drawable/dashed_line_grey"  
  8.             android:layerType="software" />  

解决方案:
layout_height一定要大于虚线的高度虚线才会显示出来,等于都不行
4.0以上系统要设置layerType="software",否则显示出来就是实线


 
  

猜你喜欢

转载自blog.csdn.net/huanglei201502/article/details/73920580