Android(安卓)画虚线显示实线的BUG
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="line">
<!-- 显示一条虚线,破折线的宽度为dashWith,破折线之间的空隙的宽度为dashGap,当dashGap=0dp时,为实线 -->
<stroke
android:dashGap="3dp"
android:dashWidth="6dp"
android:width="1dp"
android:color="#63a219" />
<!-- 虚线的高度 -->
<size android:height="2dp" />
</shape>
在background或src中引用,但在android 4.0以上版本中会有BUG,发现不管dashGap设置多大,显示的都是一条实线。
解决方法:
关闭硬件加速。
可以在AndroidManifest.xml时的Application标签加上android:hardwareAccelerated=”false”,这样整件应用都关闭了硬件加速,虚线可以正常显示,但是,关闭硬件加速对性能有些影响,会感觉明显比没关卡。
也可以给虚线的view单独关闭硬件加速:
程序代码:
line.setLayerType(View.LAYER_TYPE_SOFTWARE,null);
xml:
android:layerType="software"
参考:http://www.pocketdigi.com/20140303/1285.html
更多相关文章
- 如何使用MPAndroidChart中的LineChart实现从左到右生长的折线图
- Android(安卓)项目(一):自定义View绘制“折线图”
- android canvas 编辑bitmap画虚线
- 边框的两种写法
- Android(安卓)Drawable之GradientDrawable
- Android初级进阶之Shape
- 安卓(android)统计图表の曲线图,折线图
- 仿微信运动步数折线统计图
- Android的虚线,虚线和实现并存