【问题标题】:Android dashed divider in ListViewListView中的Android虚线分隔线
【发布时间】:2013-11-24 13:42:02
【问题描述】:

我想为列表视图绘制虚线分隔线。但我失败了。 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.可惜在模拟器中不行:

谁能给我一个提示?谢谢。

P.S.:我使用 layer-list 的原因是我以后可能需要画 2 条线。

【问题讨论】:

  • 你在设备上试过了吗?

标签: android listview divider


【解决方案1】:

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

你有两个选择:

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

这也让我头疼!

【讨论】:

    【解决方案2】:

    你真的把drawable命名为list_divider.html吗?将其重命名为list_divider.xml。我很惊讶它可以在 UI 编辑器中运行。

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

    【讨论】:

    • 抱歉,这是我的打字错误。这是一个xml。我也试过 dp 。它也不起作用。
    猜你喜欢
    • 1970-01-01
    • 2011-05-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多