1. 程式人生 > >android 螢幕切換監聽

android 螢幕切換監聽

昨天,我試著在螢幕切換時,使View顯示在不同的位置,在網上搜索了一些資料,自己做了一段時間,終於完成了功能。

由於螢幕切換會呼叫activity的各個生命週期,所以需要在manifest的activity屬性加上程式碼

android:configChanges="keyboardHidden|orientation|screenSize|locale|layoutDirection"

然後重寫onConfigurationChanged(),加上自己的處理程式碼

@Override
protected void onConfigurationChanged(Configuration 
newConfig) { super.onConfigurationChanged(newConfig); //=========切換螢幕時設定isPortrail的值,從而使PTZ在不同的位置顯示 if (newConfig.orientation == this.getResources().getConfiguration().ORIENTATION_PORTRAIT) { isPortrail = true; ArrayViews(mCurArrayMode, true); } //切換為橫屏 else if (newConfig.orientation == this
.getResources().getConfiguration().ORIENTATION_LANDSCAPE) { isPortrail = false; ArrayViews(mCurArrayMode, true); } Log.e("onConfigurationChanged",""+"onConfigurationChanged"); }

程式碼中,我判斷了橫屏和豎屏的情況,讓後顯示不同的佈局。

在自定義的View重寫這個onConfigurationChanged(),當螢幕切換時,會執行三次這段程式碼,原因我也不清楚。