所以我有一个ListView。这些物品有自己的绘画。
分隔符也是它自己的drawable。
现在,当我有一个ListView时,如下面的屏幕截图所示,空白区域没有足够的元素可以填充,它只是白色。
我已经尝试设置缓存颜色提示,但这并没有解决它(老实说不能想到任何其他可能有问题的东西)。
感谢任何帮助。
添加一些代码......
我的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>
答案 0 :(得分:0)
所以,我想到了这个解决方案,但是,我读到它有性能损失。我想它并没有那么糟糕,如果确实如此,我一定会重新发布并添加一笔赏金。但是,您基本上只是让ListView使用包装内容作为高度。
White Space around List View Items
他们还有很多类似的问题。