繁体   English   中英

ListView中的Android虚线分隔线

[英]Android dashed divider in 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编辑器内部的预览中,就像它可以工作:

在此处输入图片说明

  • 3.但是不幸的是,它在模拟器中不起作用:

在此处输入图片说明

有人可以给我提示吗? 谢谢。

PS:我使用layer-list的原因是将来我可能需要画两条线。

其文档记录在这里: https : //code.google.com/p/android/issues/detail?id=29944

您有2个选择:

  • 关闭硬件加速: android:hardwareAccelerated="false"
  • 或: listView.setLayerType(View.LAYER_TYPE_SOFTWARE, null)或xml android:layerType="software"

这太让我头疼了!

您是否将可绘制list_divider.html命名为list_divider.html 将其重命名为list_divider.xml 我很惊讶它可以在UI编辑器中工作。

第二件事可能会产生影响:对于分隔符的大小,请使用dp而不是px作为单位。 在Listview和分隔符xml中。 您永远不知道10像素是多少。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM