ListView中的Android虚线分隔符

Bag*_*yer 2 android listview divider

我想为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>
    
    Run Code Online (Sandbox Code Playgroud)
  • 我的布局包含列表视图

    <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"/>
    
    Run Code Online (Sandbox Code Playgroud)

然后在UI编辑器的预览中,它就像它的工作原理:

在此输入图像描述

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

在此输入图像描述

任何人都可以给我一个提示吗?谢谢.

PS:我使用layer-list的原因是我将来可能需要绘制2行.

Tud*_*uca 5

它在此处记录:https://code.google.com/p/android/issues/detail?id = 29444

你有2个选择:

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

它给了我太头疼了!