Android 的 shape可以用来实现一些简单的图像,如直线(实线、虚线)、圆、矩形、圆角矩形、边框等。
4.4以及以前的版本shape是能正常显示一条虚线的,最经碰到在5.0的手机上显示的是直线,或者没有显示的问题。这是是两个问题。
首先先贴一下代码:
<?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="#0049ff"
android:dashGap="3dp"
android:dashWidth="6dp" />
<!-- 虚线的高度 -->
<size android:height="1dp" />
</shape>
问题一:不显示
这个先编辑预览的时候就可以看出门,不必运行到手机或者模拟器上。
原因是View的高度不大于 虚线的高度;
问题二:为什么显示的是直线
这个涉及到系统版本
解决方案有两种:1、在代码中解决:view.setLayerType(View.LAYER_TYPE_SOFTWARE, null);把这句加点相应的代码中;
2、在 AndroidManifest.xml中解决,android:hardwareAccelerated="false" 加点相应的Activity处即可。