2011-10-04 2 views
9

3D 변형을 적용 할 때 화면상의 시각적 결함으로 인해 문제가 발생했습니다 (here). y 대신 x 축 주위로 회전하도록이 값을 변경했습니다. 내가 처음 180도 회전 할 때 (처음에는 너와 멀리 떨어져있다.), 이것이 적용되는 다른 모든 뷰의 아래쪽 영역 (아래쪽 10-20 %)에 단일 픽셀 라인 아티팩트가 표시된다. LinearLayout의 배경으로 선택자를 사용하고이 Animation을 적용하고 있습니다. 누구든지이 문제에 대한 빠른 해결책을 생각할 수 있습니까?Android - 애니메이션을 사용하는 아티스트

도움 주셔서 감사합니다.

+0

그냥 같은 문제가 있었는데, 덧붙일 설명은 인공물을 얻을 수있는 3.0 - 3.0 장치 이전이지만 3.0 + 장치에서는 하드웨어 가속을 사용하면 문제가 해결됩니다. –

답변

11

각 애니메이션 단계에서 상위보기를 무효화하면됩니다. 사용자 정의 Animation 객체가있는 경우 Animation.applyTransformation (...) 내에서이 작업을 수행 할 수 있습니다.

+0

당신은 내 인생을 구했습니다. – Carnal

+1

서비스가되어 기뻐요. 언젠가는 내 자신의 질문에 대답하는 것이 유용 할 거라는 것을 알았습니다. :) – Dori

+1

그냥이 문제에 부딪 혔고, 문제가 해결되었습니다. 이 버그는 오직 킨들 파이어 (Kindle Fire)를 포함하여 2.3 이하의 장치에만 영향을 미쳤으며 내 다양한 ​​4.0+ 장치에서 잘 보였다. – jjb

0

보기가 화면 외부로 이동하는 2D 애니메이션과 유사한 문제가 발생했습니다. 내 솔루션은 아주 간단했습니다. 내 사용자 지정보기에서 모든 프레임에서 다시 그릴 수 있도록 부모보기를 무효화합니다.

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