2012-12-26 3 views
1

ViewFlipper에 두 개의 뷰가 있고 그 사이에 빠른/복잡한 애니메이션이 있습니다. 두 번째 뷰에는 목록이 포함되어 있으므로 뷰가 애니메이션의 중간 단계에서 볼 수있는 순간에는 getView()가 여러 번 호출되어 매우 눈에 띄는 말더듬 소리가납니다 (일반적으로 애니메이션의 후반부 전체를 멈추게합니다).애니메이션 도중 표시하기 전에 뷰를 그립니다.

이상적으로 애니메이션을 시작하기 전에 두 번째보기를 사전 렌더링 (측정, 레이아웃, 그리기)하고 싶습니다. 그러나이 작업을 수행하는 간단한 방법을 찾지 못했습니다.

드로잉 캐시, 오프 스크린 캔버스 등을 사용하여 살펴 보았지만이를 달성 할 수있는 간단한 방법을 찾을 수 없습니다. 두보기 사이에 애니메이션을 적용하는 사람에게는 문제가 될 것으로 보입니다. 어떤 도움이 필요합니까?

답변

0

레이어 유형을 지정하고 애니메이션을 시작하기 전에 buildLayer()를 호출하면 뷰를 렌더링 할 수 있습니다.

newView.setLayerType(View.LAYER_TYPE_HARDWARE, null); 
newView.buildLayer(); 

LAYER_TYPE_SOFTWARE를 사용할 수도 있습니다. 기본값은 LAYER_TYPE_NONE이며 buildLayer()가 아무 것도하지 못하게합니다.

관련 문제