2017-02-03 119 views
0

我是iOS開發人員,將iOS應用移植到Android,因此請耐心等待。我有一個VideoView,它充當「視頻背景」。關於它的一切工作正常 - 縱向視圖和方向更改(縱向視圖)除外。在AndroidManifest文件,我有我的活動設置,使屏幕方向不會觸發佈局刷新:Android VideoView - 在屏幕方向變化後保持縱橫填充

android:configChanges="orientation|screenSize" 

這是否正常工作; VideoView中播放的視頻的寬高比不正確。視頻偏斜以適應肖像邊界,而不是裁剪左側和右側以保持縱橫比。我如何強制VideoView將視頻「縱橫填充」到容器中?我還應該提到這個VideoView是一個ConstraintView的子視圖。這裏是適用的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"/> 

回答

0

您可以更改方向(通過)編程後檢查的方向和設置您的videoView規模型據此來你想要什麼。

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。 –

相關問題