Android-->播放視訊橫豎屏切換的2種方式
Activity的橫豎屏切換其實很簡單, 如果你的Activity
沒有宣告android:configChanges
, 那麼Activity的方向就會隨著手機的旋轉而旋轉. (手機需要開啟自動旋轉
功能, 通常在手機的頂部通知欄中)
本來這樣就搞定了, 但是….之所以需要自己控制, 是因為橫屏
和豎屏
時, 見面的顯示需要有所不同.
才需要針對做出處理.
接下來, 就教大家2種介面處理的方式:
為了更好的使用者體驗, 請在Activity中加上屬性android:configChanges="orientation|screenSize"
, 防止手機旋轉時, Activity被重建.
1:系統自動處理
如果要讓系統自動處理, 橫豎屏介面, 只需要一個簡單的配置:
建立一個 layout-land
資原始檔夾, 裡面的xml會在手機橫屏時, 自動呼叫. 其他程式碼不變. 就完成了介面切換.
注意:findViewById
的時候, 要判斷當前方向哦, 要不然會找不到id
,因為xml不一樣了.如圖:
根據方向, 初始化不同的View
注意:當你呼叫setContentView
之後, 所有的View
, 都已經重新建立了.
這樣會出現一個小問題: 就是視訊播放的進度會丟失,此時就需要儲存視訊播放進度, 方向切換後seekTo
就行了.
2:手動處理
當手機旋轉後, Activity
onConfigurationChanged
方法:
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
initView();
}
只需要在這個方法中, 控制想要顯示, 或者 想要隱藏的View
.
想這樣, 手動控制隱藏跟顯示.
好處在於:
1. layout-land
資原始檔夾, 不需要, 但是最主要的xml, 要包含橫豎屏所有的View
才行.
2. 不需要在手機選裝之後重新呼叫setContentView
onCreate
中設定的就行了. 3. 視訊的進度自動儲存了, 這一條可能是作用最大的了.
聯絡作者
請使用QQ掃碼加群, 小夥伴們在等著你哦!
關注我的公眾號, 每天都能一起玩耍哦!