我在应用这里找到的3D转换时,屏幕上出现了视觉伪影问题。我已将其更改为绕x轴旋转而不是y轴。当我进行完整的180度旋转(一开始向你远离的顶部)时,在每个应用此旋转的其他视图的底部区域(底部10-20%)会出现单像素线条伪影。我将选择器用作LinearLayout的背景,然后将此动画应用于它。有人能想到解决此问题的快速方法吗?
谢谢任何帮助!
谢谢任何帮助!
事实证明,在每个动画步骤中,只需使父视图失效即可。如果您有自定义的Animation对象,则可以在Animation.applyTransformation(...)内部执行此操作。
我曾经遇到过一个类似的问题,涉及到2D动画,其中一个视图被移出了屏幕(超出了父视图)。我的解决方案非常简单。在我的自定义视图中,我只需使父视图无效化,以便在每一帧重新绘制它。
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
((View) this.getParent()).invalidate();
canvas.drawBitmap(icon, bm_x, bm_y, mPaint);
}