繁体   English   中英

为什么divider没有显示在listview中@android:id / list?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM