화면 사이즈 만한 ImageView를 만들고 ImageView가 포커스를 가지면 ImageView위에
같은 사이즈의 VideoView를 플레이한 후에 플레이가 끝나면 다시 VideoView를 gone시켜서
ImageView가 보이는게 목적입니다.
문제는...
ImageView -> VideoView로 이동시 화면이 깜박이고...
다시 VideoView -> ImageView로 이동시 다시 화면이 깜박이내요.
눈에 좀 거슬려서 해결을 꼭! 하고 싶은데..
도무지 방법을 모르겠내요.ㅠㅠ
혹시라도 해결방법을 아시는 분 해결책 좀 알려주세요.
비디오가 끝나면 OnCompletion이벤트가 호출이 됩니다.
VideoView -> ImageView의 전환은 OnCompletionListener에서 처리합니다 ㅠ
핸들러도 사용해 봤는데 나아지질 않내요.
핸들러 사용은..아래와 같은데..문제가 있을까요?
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
mVideo.stopPlayback();
mVideo.clearFocus();
mVideo.destroyDrawingCache();
mVideo.setVisibility(View.GONE);
}
}, 1000);
저도 거의 비슷한 상황이 있었습니다.
제가 했던 방법은 ImageView 를 VideoView 위에 겹쳐놓고 (둘다 visible)
ImageView 를 클릭하면 ImageView 를 Invisible 로 변경하면서 ImageView 에 alpha animation ( alpha 1.0 --> 0.0 )
을 겁니다. 이렇게 하면 이미지뷰가 깨끗하게 사라지면서 video play 가 가능합니다.
동영상 끝날 때도, 마찬가지겠죠. ImageView 를 visible 로 바꾸면서 alpha animation ( alpha 0.0 --> 1.0 ) 를 거는겁니다.




핸들러 등을 이용하여 딜레이를 한번 줘보세요 비디오 뷰에 리스너 이름이 기억이 안나는데 비디오 재생이 끝나면 호출되는 리스너가 있습니다.