Android:重叠使列表错误

时间:2012-06-01 07:43:50

标签: java android listview drawable overlap

我有一个自定义列表视图,并且重叠非常简单:在onDraw方法中,我将行'z轴设置为大约200,我覆盖getChildDrawingOrder (int childCount, int i)。所以结果如下:

enter image description here

当然,有更多的过渡看起来像这样,但它们与这个问题无关。

但是如你所见,大约一秒钟,顶行(我的意思是在z轴,这是白色)看起来有点儿。有imageViews有两个状态可绘制(当行在中心时为白色,在中心外为蓝色时)为坐标。通过设置背景drawable以编程方式更改drawable。 Bug似乎显示从一个drawable转换到另一个drawable时:底部的重绘比主要行更晚。我需要同时制作两个部分来改变drawable,所以不会有这样的bug。它是android的错误还是我可以解决它?

有谁知道为什么会发生这种情况?

2 个答案:

答案 0 :(得分:1)

我使用nininho建议在rotected boolean drawChild(Canvas canvas, final View child, long drawingTime) {}方法结束时应用requestLayout()并且它有效。

P.S。把它放在你真正需要它的地方,我把它放在只有转换的地方,因为这种方法占用了大量的资源,同时它重新塑造了整个孩子。

答案 1 :(得分:0)

机器人:cacheColorHint = “#00000000”

列表视图中的

。试一试。

的问候,

费边