마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

videoview 전체화면을 어떻게 바꾸나요?

0 추천

안녕하세요 

개발 하다 막혀서 질문드립니다.

 

현재 videoview와 imageview를 화면분할하여 보여주고있습니다. 그런데 videoview에서 전체화면 버튼을 생성하여 

full화면 과 fit 화면(적절한) 을 나타 내고 싶습니다. 

 

버튼 클릭시

 
RelativeLayout.LayoutParams params=(RelativeLayout.LayoutParams) videoview.getLayoutParams();

if(Swich_full==0){
Swich_full=RelativeLayout.TRUE;
//params.height = LayoutParams.FILL_PARENT;
params.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM, Swich_full);
videoview.setLayoutParams(params);
}else{
Swich_full=0;
videoview.requestFitSystemWindows();
//params.height=metrics.heightPixels;
params.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM, Swich_full);

 

<VideoView
    android:id="@+id/videoView1"
    android:layout_width="290dp"
    android:layout_height="match_parent"
    android:layout_alignParentBottom="false"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:layout_toLeftOf="@+id/imageView1"

 

 
 
위코드적용시 videoview 전체 크기는 커지나 실제 영상은 그대로 입니다. 
 
videoview를 커스텀하여 onMeasure()로 쓰는 방법도 구글링해서 봤는데 클릭시에 어떻게 사용하는지 모르겠습니다. 
 
방법아신다면 갈차주세요
장혁뺨치다 (190 포인트) 님이 2014년 2월 25일 질문

1개의 답변

0 추천

onMeasure에서 setMeasuredDimension 를 호출 할 때 원하시는 사이즈를 넣는건 동일하고요.

버튼으로 눌렀을 때 onMeasure가 불리게 하는게 필요한데, setLayoutParams 를 호출하니 되는듯 했습니다.

원본 사이즈 화면은 onVideoSizeChange시에 구하실 수 있습니다.

 

int mSizeFlag = 0;
 protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) 
{
switch(mSizeFlag)
       {
case 0:
setMeasuredDimension(원본 화면 가로, 원본 화면 세로);
break;
case 1:
setMeasuredDimension(전체 화면 가로, 전체화면 세로);
break;
       }
}
 
public void setSize(int flag) {
        LayoutParams params = this.getLayoutParams();
     //   params.width = LayoutParams.MATCH_PARENT;
     //   params.height = LayoutParams.MATCH_PARENT;
 
        mSizeFlag = flag;
 
        setLayoutParams(params);
    }

 

사악미소 (65,330 포인트) 님이 2014년 2월 28일 답변
...