我有一个自定义列表视图,并且重叠非常简单:在onDraw
方法中,我将行'z轴设置为大约200,我覆盖getChildDrawingOrder (int childCount, int i)
。所以结果如下:
当然,有更多的过渡看起来像这样,但它们与这个问题无关。
但是如你所见,大约一秒钟,顶行(我的意思是在z轴,这是白色)看起来有点儿。有imageViews
有两个状态可绘制(当行在中心时为白色,在中心外为蓝色时)为坐标。通过设置背景drawable以编程方式更改drawable。 Bug似乎显示从一个drawable转换到另一个drawable时:底部的重绘比主要行更晚。我需要同时制作两个部分来改变drawable,所以不会有这样的bug。它是android的错误还是我可以解决它?
有谁知道为什么会发生这种情况?
答案 0 :(得分:1)
我使用nininho建议在rotected boolean drawChild(Canvas canvas, final View child, long drawingTime) {}
方法结束时应用requestLayout()并且它有效。
P.S。把它放在你真正需要它的地方,我把它放在只有转换的地方,因为这种方法占用了大量的资源,同时它重新塑造了整个孩子。
答案 1 :(得分:0)
机器人:cacheColorHint = “#00000000”
列表视图中的。试一试。
的问候,
费边