본문 바로가기
개발/안드로이드

[android]VideoView 크기 변경

by darksilber 2011. 12. 13.
반응형
출처 - http://tjandroid.blogspot.com/2011/01/videoview.html

VideoView 는 기본적으로 비디오 크기 비율로 화면에 차게 표시한다.

화면에 꽉차게 하거나 크기를 다르게 적용하고 싶으면 VideoView 가 갖고 있는 MediaPlayer 의 onVideoSizeChanged 핸들러를 변경해 주어야 한다.

화면에 꽉차게 표시 (fill_parent)
...
VideoView videoView;
...

private OnVideoSizeChangedListener onVideoSizeChangedListener =
new OnVideoSizeChangedListener() {
 public void onVideoSizeChanged(MediaPlayer mp, int width, int height) {
  LayoutParams lp = new LayoutParams(ViewGroup.LayoutParams.FILL_PARENT,
ViewGroup.LayoutParams.FILL_PARENT);
  videoView.setLayoutParams(lp);
 }
};

...

private OnPreparedListener onPrepared = new OnPreparedListener() {
 public void onPrepared(MediaPlayer mp) {
  mp.setOnVideoSizeChangedListener(onVideoSizeChangedListener);

  LayoutParams lp = new LayoutParams(ViewGroup.LayoutParams.FILL_PARENT,
ViewGroup.LayoutParams.FILL_PARENT);
  videoView.setLayoutParams(lp);
 }
};


...
videoView.setOnPreparedListener(onPrepared);

요약)
VideoView 의 onPreparedListener 에서 전달되는 MediaPlayer 에 onVideoSizeChangedListener 를 등록시킨다.
VideoView 의 setLayoutParams 함수를 이용하여 크기를 변경한다.

주의) setLayoutParams 사용시 주의할 사항이 있다. 참조
반응형

댓글