一個Activity主要用來做播放視訊使用,并且是全屏播放的話,主要采用橫屏(Landscape orientation 顯示寬度大于高度)顯示視訊,那麼可以指定Activity的屬性android:screenOrientation="landscape"讓Activity在裝置上以橫屏顯示。
本文使用VideoView來顯示視屏,Potrait(豎屏)時布局樣式中寬比對父布局,高比對内容;Landscape(橫屏)時布局樣式中寬比對内容,高比對布局。視屏播放中,使用者調正裝置方向時,導緻螢幕方向發生變化,視屏能夠适應布局樣式顯示視訊,并正常繼續播放。
示例圖:

1. 建構布局
Potrait: res/layout/activity_videoview.xml
Landscape: res/layout-land/activity_videoview.xml
2.建立Activity
3. 設定Activity屬性
代碼中重寫了onConfigurationChanged,可以在此處做配置發生變化的處理。
在運作時發生配置更改,Activity被關閉,預設情況下重新啟動,但在設定了Activity的configChanges屬性的配置将防止活動被重新啟動,Activity仍在運作并且onConfigurationChanged方法被調用。
需要注意的是如果應用程式的target API level是13+的話(聲明了minSdkversion和targetSdkVersion屬性),需要同時設定screensize, 因為裝置的橫豎方向發生變化的時候,目前螢幕的可用尺寸也将發生變化。