天天看點

[Android學習筆記八] 使用VideoView螢幕方向發生變化,視訊方向自動切換

    一個Activity主要用來做播放視訊使用,并且是全屏播放的話,主要采用橫屏(Landscape orientation 顯示寬度大于高度)顯示視訊,那麼可以指定Activity的屬性android:screenOrientation="landscape"讓Activity在裝置上以橫屏顯示。

    本文使用VideoView來顯示視屏,Potrait(豎屏)時布局樣式中寬比對父布局,高比對内容;Landscape(橫屏)時布局樣式中寬比對内容,高比對布局。視屏播放中,使用者調正裝置方向時,導緻螢幕方向發生變化,視屏能夠适應布局樣式顯示視訊,并正常繼續播放。

   示例圖:

[Android學習筆記八] 使用VideoView螢幕方向發生變化,視訊方向自動切換
[Android學習筆記八] 使用VideoView螢幕方向發生變化,視訊方向自動切換

 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, 因為裝置的橫豎方向發生變化的時候,目前螢幕的可用尺寸也将發生變化。

下一篇: Vue生命周期