[英]Why divider is not showing in the listview @android:id/list ?
我有一个包含以下listview的线性布局:
<ListView
android:id="@android:id/list"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:cacheColorHint="#00000000"
android:divider="#FF0000"
android:dividerHeight="4dp"
/>
并且ListActivity使用布局,问题是ListView xml中的以下行不生效:
android:divider="#FF0000"
android:dividerHeight="4dp"
并设置默认分隔符。 你为什么会发生这种情况以及如何解决这个问题?
它是dp和px的差异。
用这个
android:dividerHeight="4px"
代替
android:dividerHeight="4dp"
如果你愿意,也可以使用它
int[] colors = {0, 0xFFFF0000, 0}; // red for the example
myList.setDivider(new GradientDrawable(Orientation.RIGHT_LEFT, colors));
myList.setDividerHeight(1);
你会得到的..
对我来说,这是完美的工作:
<ListView
android:id="@+id/listHomeScreen"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:cacheColorHint="#000"
android:divider="#7F7F7F"
android:dividerHeight="1dip"
android:listSelector="@android:color/transparent" >
</ListView>
确保我们没有覆盖android:dividerHeight或divider颜色。
Android Lollipop 5.0中存在错误,如果你已经覆盖了setEnabled(),那么就会发生这种情况。 请查看此问题以获取更多信息ListView分隔符未在Android 5中显示
它现在解决了 。 问题是在我决定在xml中创建列表之前我在listActivity中有这个代码来添加覆盖xml的divider:
int[] colors = { 0xA8A8A8A8, 0xFFFFFFFF, 0xA8A8A8A8 };
getListView().setDivider(new GradientDrawable(Orientation.RIGHT_LEFT, colors));
getListView().setDividerHeight(1);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.