我想为listview绘制虚线分隔线。但我失败了。 StackOverflow中有一些类似的问题,但没有一个能解决我的问题。
以下是我创建虚线分隔符的步骤:
创建list_divider.html
<?xml version="1.0" encoding="utf-8"?><layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item>
<shape android:shape="line">
<stroke
android:color="#ff0000"
android:dashWidth="10px"
android:dashGap="10px" />
</shape>
</item> </layer-list>
我的布局包含列表视图
<ListView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@android:id/list"
android:layout_gravity="center_horizontal"
android:footerDividersEnabled="true"
android:divider="@drawable/list_divider"
android:dividerHeight="1px"/>
然后在UI编辑器的预览中,它就像它的工作原理:
任何人都可以给我一个提示吗?感谢。
P.S。:我使用图层列表的原因是我将来可能需要绘制2条线。
答案 0 :(得分:5)
在此记录:https://code.google.com/p/android/issues/detail?id=29944
您有两个选择:
android:hardwareAccelerated="false"
listView.setLayerType(View.LAYER_TYPE_SOFTWARE, null)
或xml android:layerType="software"
这让我太头疼了!
答案 1 :(得分:0)
您是否为可绘制的真实list_divider.html
命名了?将其重命名为list_divider.xml
。我很惊讶它在UI编辑器中有效。
可能产生影响的第二件事:对于分隔符的大小调整,使用dp
而不是px
作为单位。在Listview和divider xml中。你永远不知道10个像素是多少。