1. 程式人生 > >Activity橫豎屏切換問題

Activity橫豎屏切換問題

1.AndroidManifest清單檔案中Activity標籤下不設定任何屬性
橫豎屏切換生命週期變化:會根據螢幕方向自動載入橫屏(layout-land)或者豎屏佈局(layout)
在這裡插入圖片描述
2.新增這個實行android:configChanges=“orientation”
橫豎屏切換:只會執行onConfigurationChanged方法,並且不會根據螢幕方向自動切換橫屏或者豎屏的佈局。
在這裡插入圖片描述
如果要實現橫豎屏切換載入對應的佈局應在onConfigurationChanged中重新呼叫setContentView方法,並需要重新初始化。

 @Override
    public void onConfigurationChanged(Configuration newConfig) {
        super.onConfigurationChanged(newConfig);
        if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {
            setContentView(R.layout.activity_main);
            initView();
        } else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT) {
            setContentView(R.layout.activity_main);
            initView();
        }
    }