【问题标题】:Android: ListView divider is transparentAndroid:ListView 分隔符是透明的
【发布时间】:2014-02-24 17:08:29
【问题描述】:

嘿,我有一个列表视图,里面装满了“自定义”文本视图(为了方便起见,只是添加了一个方法)

mRootView = inflater.inflate(R.layout.fragment_session_list, container, false);
mLV = (ListView) mRootView.findViewById(R.id.session_list);
mLV.setAdapter(SessionManager.getInstance(getActivity().getApplicationContext()));
mLV.setDivider(new ColorDrawable(Color.RED));
mLV.setDividerHeight(20);
mLV.setBackground(new ColorDrawable(Color.YELLOW));

ListView 是 ViewPager 的一个片段,是屏幕上唯一显示的东西

<ListView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/session_list"
    style="@style/main.list"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:smoothScrollbar="true">
</ListView>

完成样式

<style name="main">
</style>

<style name="main.list">
    <item name="android:divider">#f00</item>
    <item name="android:dividerHeight">4px</item>
</style>

<style name="main.list.item">
    <item name="android:textColor">#f00</item>
    <item name="android:textSize">32dp</item>
    <item name="android:layout_height">48dp</item>
    <item name="android:layout_width">match_parent</item>
    <item name="android:background">#0ff</item>
</style>

没有显示分隔线。相反,黄色背景是可见的。 有什么想法吗?

编辑:如果我拉起列表视图足够快,顶部是红色的。 (滚动的“过冲”部分)

【问题讨论】:

  • 尝试从 listView 中删除 style="@style/main.list"。
  • @RajeshCP 不会改变它
  • 你为什么不从 XML 中设置分隔符?
  • @gunar 也尝试过。也不行
  • 尝试删除 mlv.Setdivider(new Colordrawable(Color.red)

标签: android listview divider


【解决方案1】:

如果您要更改颜色/drawable,您还必须设置/重置分隔线的高度。 我已经尝试过了

<ListView
    android:id="@+id/listViewInstituate"
    android:layout_width="fill_parent"
    android:layout_height="313dp"                        
    android:choiceMode="singleChoice"
    android:dividerHeight="1.9dp"        
    android:divider="@android:color/holo_red_light"

    >

</ListView>

而且效果很好。

但这需要 api 级别 14,

android:divider="@android:color/holo_red_light" 

所以你可以使用

android:divider="#FFCC00"

我都检查了。谢谢你

在您的代码mLV.setDivider(new ColorDrawable(Color.RED));&lt;item name="android:divider"&gt;#f00&lt;/item&gt;让我困惑

【讨论】:

  • 我摆脱了对列表视图的所有编程更改并测试了您的解决方案。它对我不起作用。它只是将背景的细线显示为“分隔线”。滑动列表视图所需的 ViewPager 能否以某种方式混淆?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-07-17
  • 2017-01-11
  • 2014-05-27
  • 2010-12-09
相关资源
最近更新 更多