在我的布局中,我正在尝试绘制一个DOTTED LINE.for绘制一条水平线,我在我的布局文件中定义了一个视图.
- <View
- android:layout_width="fill_parent"
- android:layout_height="1dip"
- android:background="@drawable/customdots" />
和customdots.xml
- <?xml version="1.0" encoding="utf-8"?>
- <layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
- <item
- android:left="10dp"
- android:right="10dp"
- android:width="4dp"
- android:drawable="@drawable/dotted" />
- </layer-list>
dotted.xml
- <?xml version="1.0" encoding="utf-8"?>
- <shape xmlns:android="http://schemas.android.com/apk/res/android"
- android:shape="line" >
- <size
- android:height="4dp"
- android:width="1024dp"/>
- <stroke
- android:width="4dp"
- android:dashWidth="4dp"
- android:color="@android:color/black"
- android:dashGap="5dp"/>
- </shape>
但是我没有使用这段代码.请帮帮我.
当我在listView Divider中使用customdots.xml时
- android:divider="@drawable/customdots"
它显示了一个很好的虚线
解决方法
我也在解决这个问题,直到我发现最新版本的Android在渲染这样的线条时出现了一个错误.
通过将android:layerType =“software”添加到使用虚线作为背景的视图中,可以避免此错误.
例:
dotted.xml:
- <?xml version="1.0" encoding="utf-8"?>
- <shape xmlns:android="http://schemas.android.com/apk/res/android"
- android:shape="line">
- <stroke
- android:dashGap="3dp"
- android:dashWidth="8dp"
- android:height="2px"
- android:color="#FFFFFF" />
- </shape>
layout.xml:
- <View
- android:id="@+id/vDottedLine"
- android:background="@drawable/dotted"
- android:layout_width="match_parent"
- android:layout_height="2px"
- android:layerType="software" />