Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發 >> 關於android開發 >> Android-操作欄之副標題,android-副標題

Android-操作欄之副標題,android-副標題

編輯:關於android開發

Android-操作欄之副標題,android-副標題


  我們的目標是在操作欄右側加上一個選項菜單,點擊它就可顯示或者隱藏操作欄的副標題。

  由於操作欄是在API11級以後出現的,因此必須考慮兼容性問題。我們直接讓低於API11的設備根本看不到選項菜單即可。建立res/menu-v11,將menu的xml放入其中,

添加上該選項菜單Item。

   然後老步驟:1.setHasOptionsMenu(true)

         2.onCreateOptionsMenu()

         3.onOptionsItemSelected()

    

    看似完美解決了問題,實際上有一個嚴重的bug。那就是經典的設備旋轉問題。如果已經顯示副標題,旋轉後該副標題會為空,該選項菜單的title會變會show_subtitle

    如何解決呢?有的人會想到保存fragment實例,讓其在設備旋轉期間處於被保留狀態。這個想法很棒,但忽略了一點,無論是副標題還是選項菜單的顯示問題都屬於視圖問題,而不管fragment實例是否會被保存,fragment視圖一定會被銷毀,原因是資源的重配置可能性。

    無論之前有無副標題,視圖重建時,都會沒有。因此我們需要在fragment中添加一個flag用於存儲副標題是否顯示。在視圖重建時根據該flag來判斷是否需要顯示副標題。

    

    

    最後總結一下,視圖層顯示的數據如果是在非創建視圖方法中設置的,那麼在設備旋轉這類改變配置的行為後,由於視圖的銷毀重建,就算fragment實例一直保留,也枉然。

 

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved