2017-02-03 7 views
0

저는 Android 용 iOS 앱을 이식하는 iOS 개발자이므로 나와 함께 감내해야합니다. "비디오 배경"으로 작동하는 VideoView가 있습니다. 세로보기 및 오리엔테이션 변경 (세로보기)을 제외하고 모든 것은 올바르게 작동합니다. AndroidManifest를 파일에서, 나는 방향이 레이아웃 새로 고침 트리거하지 않는 화면 있도록 내 활동 설정이 있습니다Android VideoView - 화면 방향 변경 후 가로 채우기 유지

android:configChanges="orientation|screenSize" 

이 제대로 작동을; 올바르게 작동하지 않는 것은 VideoView에서 재생중인 비디오의 종횡비입니다. 가로 세로 비율을 유지하기 위해 왼쪽과 오른쪽을 잘라내는 대신 세로 경계 내에 맞도록 비디오가 비뚤어집니다. VideoView가 비디오를 컨테이너에 "가로 채"강제로 표시하려면 어떻게합니까? 이 VideoView는 ConstraintView의 하위 뷰입니다.

<VideoView 
    android:layout_width="0dp" 
    android:layout_height="0dp" 
    android:id="@+id/videoView2" 
    app:layout_constraintBottom_toBottomOf="@+id/imageView3" 
    app:layout_constraintLeft_toLeftOf="@+id/imageView3" 
    app:layout_constraintRight_toRightOf="@+id/imageView3" 
    app:layout_constraintTop_toTopOf="@+id/imageView4" 
    android:scaleType="centerCrop" 
    android:adjustViewBounds="true"/> 

답변

0

당신은 프로그래밍 방식 (를 통해) 방향 변경 후 방향을 확인하고 VideoView를 지켜 보면서 스케일 유형을 설정할 수 있습니다 따라 당신이 원하는 무엇을 : 여기에 해당 XML입니다.

public void onConfigurationChanged(Configuration newConfig) { 
    super.onConfigurationChanged(newConfig); 
    if(newConfig.orientation==Configuration.ORIENTATION_LANDSCAPE){ 
     // set video view configurations to what you want on landscape 
    }else{ 
     // set video view configurations to what you want on portrait 
    } 
} 

동영상보기 크기 조정에 대한 또 다른 문제입니다. 그것에 대한 자세한 정보를 원하시면,이 답변을 확인하십시오 https://stackoverflow.com/a/7225469/4244598

https://stackoverflow.com/a/12335916/4244598

http://blog.kasenlam.com/2012/02/android-how-to-stretch-video-to-fill.html

+0

나는 청취자를 가지고'의 onConfigurationChanged()'- 어떤 코드 VideoView를 지켜 보면서의 배율을 바꿀 것? –

+0

제가 작업하겠습니다 – Natan

+0

세 번째 링크는 제가 시도한 접근 방식과 똑같지 만, 기본 레이아웃은 ConstraintLayout이고 그 접근 방식에서 권장되는 RelativeLayout에 영향을 미치고 있다고 생각합니다. –