【问题标题】:How to make divider part of each item in listview in android?如何在android的listview中制作每个项目的分隔符?
【发布时间】:2010-06-18 05:29:19
【问题描述】:

我想动态更改分隔线高度。从我搜索的任何内容来看,似乎可以通过将分隔符设置为ListView 中每个项目的一部分。但我对此不是很清楚。

那么,谁能更具体一点,如何将 divider 作为ListView 中项目的一部分?

【问题讨论】:

    标签: android android-listview divider


    【解决方案1】:

    一种方法是在每行的底部添加分隔符。现在,您必须在 listadapter 中的 getView 方法中设置分隔视图的高度,具体取决于您当前显示的项目。

    【讨论】:

    • 我没有告诉你如何在每一行的底部添加分隔线。我有一个 xml 文件 row.xml。如何在此 row.xml 中添加分隔线并在运行时更改其高度。
    • 非常感谢。 Atlast 我设法按照您的建议做到了。
    • 你能详细说明如何做到这一点吗?我还是有点迷茫。
    【解决方案2】:

    没有什么比用图片解释更好的了。在这里,我找到了来自网络的屏幕截图。我在上面做了一些标记。

    这就是您想要实现的目标。

    您可以将分隔线作为项目之一。

    此外,您可以将分隔线作为项目的一部分。

    这两种解决方案都没有使用ListView 提供的真实分隔符。它应该设置为 0 高度。听起来很傻,但确实有效。

    【讨论】:

      【解决方案3】:

      您可以将 android:footerDividersEnabled 设置为 false 并在适配器中添加分隔线。

      【讨论】:

      • 这正是我想知道如何从适配器添加分隔线。如果您有任何想法,请告诉我。
      • 我已经成功了。非常感谢大家在这方面帮助我。
      【解决方案4】:

      在您的 ListActivity 调用中:

      ListView lv = getListView();
      lv.setDivider(divider);
      

      divider 是一个 Drawable 对象,您可以根据需要在代码中定义或编写它。

      您也可以调用:

      lv.setDividerHeight(2);
      

      改变高度

      【讨论】:

      • 我需要在适配器的getView方法中编写这段代码吗?我没有将 ListActivity 用于列表视图。
      • 这将不允许您使用不同高度的分隔线。
      • @sunil,不,此代码进入您的 Activity(您使用的是 ListActivity,对吗?),可能是 onCreate()。如果您需要每行不同的高度,那么 Janusz 是正确的,在这种情况下,您必须将分隔线添加到每行并在适配器的 getView() 中以编程方式更改高度
      猜你喜欢
      • 2015-02-05
      • 2017-06-26
      • 1970-01-01
      • 1970-01-01
      • 2018-04-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-28
      相关资源
      最近更新 更多