在橫豎屏切換時,遇到問題的解決方案

   今天在做的一個項目裏面,剛好有一個3D的效果在橫豎屏裏面,是需要變換的,本來嘛,如果用網上常用的方法,就是在XML文件裏面定義那個orient,和在主activity裏面寫一個onConfigChange方法,但是這裏我們不行,因爲我這裏橫豎屏用的並不是同一個 layout文件,所以很多的東西都不一樣,所以

這就要求了,我們必須在一個狀態下保存,然後在另一個狀態下取出來才行,這就是根本的思路。

   具體的方法,是覆寫activity裏面的onRetainNonConfigurationInstance()方法,然後利用這個方法來保存一個object,之後在使用getLastNonConfigurationInstance()取回這個數。

  例如:    @Override
    public Object onRetainNonConfigurationInstance() {
        // Flag the loader to stop early before switching
        mModel.stopLoader();
        mAllAppsGrid.surrender();
       
        return mUtil;
    }

這個mUtil,就是我要保存的東西,在轉屏之後,使用getLastNonConfigurationInstance(),就可以返回這個 Object,當然,前面可以加上強制轉換,非常好用。

發佈了24 篇原創文章 · 獲贊 4 · 訪問量 11萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章