2013-02-25 59 views
2

嗨大家好我新來android和堅持定位的問題,我需要顯示單獨的佈局在景觀和肖像,我分別設計和放置在佈局大和佈局大,土地文件夾現在我需要改變佈局時,設備被旋轉到景觀帶出破壞並重新創建活動更改佈局在景觀與摧毀和重新創建活動

請幫我出這個問題

由於提前

回答

3

我的意見,很長一段時間Android程序員是:

不要這樣做!

讓活動以正確的佈局銷燬並重新構建。

只需搜索和研究在定位更改期間保留數據的所有幾種方法,並將它們應用於您的特定情況。下面舉幾個例子來說明:

  1. onCreate(Bundle)接收該包含onSavedInstances(Bundle)期間保存的信息的包;
  2. 用戶沒有UI的片段(不調用onCreateView)並將其設置爲跨越旋轉被保留與setRetainInstance(true)並用它來記住數據
  3. 使用Loader pattern自動接收它是在以前的活動所產生的數據
+0

感謝Budius但我的應用程序通過顯示android.view.inflateException越來越崩潰,當我解開configchanges – 2013-02-25 11:43:54

+0

所以你應該嘗試修復該錯誤,而不是創建一個黑客工具,完全違背了平臺爲您提供的所有優秀的自動化方法。 – Budius 2013-02-25 11:45:44

+0

如果我解鎖方向configchanges我得到一個性能問題,因爲它需要再次加載複雜的列表片段 – 2013-02-25 11:47:13

0

試試這個,

在mainfest.xml每一個活動添加該代碼。

android:ConfigChanges="keyboardHidden|orientation" 
+0

我做了同樣的事情,但當設備旋轉到風景時我需要更改佈局 – 2013-02-25 11:50:32

0

從重建更換

layout-large-land 

layout-land-large 

防止活動/銷燬

添加屬性android:configChanges="orientation"到活動declar在AndroidManifest.xml文件中。

android:configChanges屬性的用途是防止活動在真正需要時被重新創建。

讓我知道它是否適合你..

+0

如果我用該名稱創建一個文件夾,iam出錯 – 2013-02-25 12:31:23

+0

出現什麼樣的錯誤? – moDev 2013-02-25 12:36:21

+0

iam在該文件夾上獲得錯誤標記,我嘗試運行「您的項目包含錯誤,請在運行前修復它們」 – 2013-02-25 12:39:51