Android:当没有足够的项目填充时ListView背景颜色。 [截图]

时间:2014-04-07 03:30:52

标签: android listview background drawable

所以我有一个ListView。这些物品有自己的绘画。

分隔符也是它自己的drawable。

现在,当我有一个ListView时,如下面的屏幕截图所示,空白区域没有足够的元素可以填充,它只是白色。

Screenshot

我已经尝试设置缓存颜色提示,但这并没有解决它(老实说不能想到任何其他可能有问题的东西)。

感谢任何帮助。

添加一些代码......

我的ListView创建和属性:

    final ListView v = new ListView(this.getActivity());
    fl.setBackgroundColor(Color.TRANSPARENT);
    v.setBackgroundDrawable(this.getActivity().getResources().getDrawable(R.drawable.item_selector_bad));
    v.setDivider(new ColorDrawable(Color.parseColor("#00000000")));
    v.setDivider(this.getActivity().getResources().getDrawable(R.drawable.item_square));
    v.setCacheColorHint(Color.TRANSPARENT);
    v.setSelector(this.getActivity().getResources().getDrawable(R.drawable.item_selector_bad));
    v.setDividerHeight(20);

对于xml文件,总体布局是这样的

列表中的项目包含:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
    <item android:drawable="@drawable/item_square">
    </item>
    <item android:drawable="@drawable/item_green">
    </item>
</layer-list>

item_square只是:

<?xml version="1.0" encoding="utf-8"?>
<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
    android:src="@drawable/light_grid"
    android:tileMode="repeat" >

</bitmap>

item_green:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle" >

    <solid android:color="@color/light_green" />


    <corners
        android:bottomLeftRadius="25dp"
        android:bottomRightRadius="25dp"
        android:topLeftRadius="25dp"
        android:topRightRadius="25dp" />

</shape>

1 个答案:

答案 0 :(得分:0)

所以,我想到了这个解决方案,但是,我读到它有性能损失。我想它并没有那么糟糕,如果确实如此,我一定会重新发布并添加一笔赏金。但是,您基本上只是让ListView使用包装内容作为高度。

White Space around List View Items

他们还有很多类似的问题。