2017-02-03 2 views
0

Ich bin ein iOS-Entwickler, der eine iOS-App auf Android portiert, also ertragen Sie mich.Ich habe eine Videoansicht, die als "Videohintergrund" fungiert. Alles daran funktioniert - außer im Hochformat und bei der Ausrichtung (Hochformat). In der AndroidManifest Datei, habe ich meine Tätigkeit Setup, so dass die Bildschirmausrichtungen kein Layout refresh auslösen:Android VideoView - Beibehaltung der Seitenfülle nach Änderung der Bildschirmausrichtung

android:configChanges="orientation|screenSize" 

Dies korrekt funktioniert; Was nicht richtig funktioniert, ist das Seitenverhältnis des Videos, das im VideoView wiedergegeben wird. Das Video ist so verzerrt, dass es in die Hochformatbereiche passt, anstatt die linke und rechte Seite auszublenden, um das Seitenverhältnis beizubehalten. Wie kann ich das VideoView dazu zwingen, das Video in seinem Container "auszufüllen"? Ich sollte auch erwähnen, dass diese VideoView eine Unteransicht einer ConstraintView ist. Hier ist die anwendbar XML:

<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"/> 

Antwort

0

Sie können für die Ausrichtung überprüfen programmatisch nach der Orientierungsänderung (durch) und stellen Sie Ihren Videoview Tonleiter entsprechend zu dem, was Sie wollen.

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 
    } 
} 

Über das Skalieren der Videoansicht ist das ein anderes Problem. Sehen Sie sich diese Antworten für weitere Informationen über sie: 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

Ich habe einen Hörer für 'onConfigurationChanged()' - welcher Code würde die Skalierung des Videoview ändern? –

+0

Ich werde daran arbeiten – Natan

+0

Dieser dritte Link ist genau der Ansatz, den ich ausprobiert habe, aber mein Basislayout ist ein ConstraintLayout und ich denke, das beeinflusst das RelativeLayout, das in diesem Ansatz empfohlen wird. –

Verwandte Themen