我正在創建一個需要風景/人像屏幕的應用程序。我的問題是,當屏幕旋轉時,即使是記錄器,該方法也不起作用,所以我很難在拍攝時遇到問題。任何有經驗的人都一樣嗎?我在旋轉後在日誌中收到的是當屏幕旋轉時,日誌,方法不起作用風景
12-28 00:02:55.897 13039-13039/com.xxx.xxx D/ViewRootImpl: ViewPostImeInputStage processPointer 0
12-28 00:02:55.927 13039-13039/com.xxx.xxx D/ViewRootImpl: ViewPostImeInputStage processPointer 1
在這裏,我試圖加載不同的XML,當用戶在風景或肖像。我正在使用這種方法,因爲在橫向模式下我有其他控件,並且這些控件在縱向模式下不可用。所以我需要調用bindNewControlsLoaded()
方法來初始化這些控件。
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {
setContentView(R.layout.activity_task_page_lan);
initCreate();
//im calling this because some controls are newly added
bindNewControlsLoaded();
} else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT){
setContentView(R.layout.activity_task_page);
initCreate();
}
}
initCreate
方法是肖像的方法,這是用來加載公共控件。而額外的控制被稱爲在bindNewControlsLoaded();
在我的清單android:configChanges="orientation|screenSize"
請在超級後在onConfigurationChanged內添加newConfig日誌。並顯示您的活動聲明。 –