2011-10-04 52 views
9
我申请的3D变换当具有与屏幕上的视觉假象问题

文物发现here。我改变了这个,所以它围绕X轴而不是Y旋转。当我做180次完整旋转(首先离开你的顶部)时,我会在其适用的每个其他视图的底部区域(底部10-20%)获得单个像素线伪像。我使用选择器作为LinearLayout的背景,然后将此动画应用于它。任何人都可以想到这个问题的快速解决方案?Android的 - 使用动画

感谢您的帮助!

+0

刚刚有同样的问题,只有我会补充的评论是,在1.6 - pre 3.0设备上,我收到文物,但在3.0+设备上启用硬件加速可解决问题。 –

回答

11

事实证明,你只需要在每个动画一步父视图无效。如果你有一个自定义动画对象,你可以做这里面Animation.applyTransformation(...)

+0

你救了我的命 – Carnal

+1

很高兴为您服务的 - 我知道,回答我的问题会派上用场有一天:) – Dori

+1

恰好碰到了这个问题,以及,清理我有问题。这个bug似乎只影响2.3和更低的设备(包括Kindle Fire),并且在我的各种4.0+设备上看起来很好。 – jjb

0

我曾与其中查看移动关闭屏幕(父视图外)二维动画类似的问题。我的解决方案非常简单。在我的自定义视图中,我只是使父视图无效,让它在每一帧都重绘。

@Override 
protected void onDraw(Canvas canvas) { 
    super.onDraw(canvas); 
    ((View) this.getParent()).invalidate(); 
    canvas.drawBitmap(icon, bm_x, bm_y, mPaint); 
}