Listview 中项目之间的距离
Posted
技术标签:
【中文标题】Listview 中项目之间的距离【英文标题】:Distance between items in a Listview 【发布时间】:2011-01-14 13:27:36 【问题描述】:我的布局中有一个 ListView。
<ListView
android:id="@+id/list_infoitems"
android:layout_
android:layout_/>
每个列表项布局如下:
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_
android:layout_
android:orientation="vertical"
android:background="@drawable/selector_custombutton"
android:padding="10dp"
android:layout_gravity="center">
<TextView
android:id="@+id/text_history_station_name"
android:layout_
android:layout_
android:gravity="center_vertical|left"
android:textColor="@color/rnv_blue_540c"/>
<TextView
android:id="@+id/text_history_line_id"
android:layout_
android:layout_
android:gravity="center_vertical|left"
android:textColor="@color/rnv_blue_540c"/>
</LinearLayout>
我想在所有项目之间保持距离。为此,我使用了 android:margin 属性,但没有成功。
有谁知道,如何改变列表视图中项目之间的距离。
谢谢,
穆尔
【问题讨论】:
每行之间的距离?还是在连续出现的每个项目之间? 【参考方案1】:您始终可以设置 dividerHeight 属性。 Android Docs
<ListView
android:id="@+id/list"
android:layout_
android:layout_
android:dividerHeight="5dp"
/>
如果这不是您想要做的,在您的列表视图项目中,您可以将您的 LinearLayout 包装在 RelativeLayout 中并为 LinearLayout 添加边距
<RelativeLayout
android:layout_
android:layout_>
<LinearLayout
android:id="@+id/list"
android:layout_
android:layout_
android:layout_marginTop="5dp"
android:layout_marginBottom="5dp"
/>
</RelativeLayout>
【讨论】:
我和你的第二个建议有同样的想法,但你的第一个对我有帮助,而且更好:) 非常感谢 这对我有用,只是我的列表是黑色的,分隔线是灰色的。确保将分隔线更改为与列表相同的颜色! android:divider="#00000" 在我的例子中。 @NPike,或者使用 #00000000 使分隔线透明【参考方案2】:我发现 ListView 分隔线存在碎片问题。在 2.3 设备中,默认情况下实现了一条灰线,而在 4.x 设备上不显示。这可以通过手动设置android:divider="some_value"
来解决。我倾向于在项目布局本身中处理所有 ListView 项目布局问题。这是一个肮脏的小技巧,但解决了跨版本问题。请注意下面添加的“隐藏”视图。这不仅解决了项目之间的问题,而且在列表中的最后一项之后为您提供了相等的填充。
<RelativeLayout
android:layout_
android:layout_>
<LinearLayout
android:id="@+id/list"
android:layout_
android:layout_
android:layout_marginTop="5dp" />
<View
android:below="@id/list"
android:layout_
android:layout_
android:margin_top="5dp" />
</RelativeLayout>
【讨论】:
【参考方案3】:使用填充或边距或 ListView 本身。
<ListView
android:id="@+id/list_infoitems"
android:layout_
android:layout_
android:padding="5px"
/>
【讨论】:
【参考方案4】:为了增加他们自己可以使用的项目之间的距离
android:dividerHeight="xxdpi"
在
<ListView
android:id="@+id/list_infoitems"
android:layout_
android:layout_
android:dividerHeight="xxdpi"/>
问候, 马可
【讨论】:
以上是关于Listview 中项目之间的距离的主要内容,如果未能解决你的问题,请参考以下文章