2011-10-04 38 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); 
}