編輯:關於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實例一直保留,也枉然。
使用自定義的item、Adapter和AsyncTask、第三方開源框架PullToRefresh聯合使用實現自定義的下拉列表(從網絡加載圖片顯示在item中的Image
[Android] Activity間切換,傳遞數據,androidactivity前面照著android系統的裁剪圖片的功能自己寫了一個相似的工具。功能是大體上實現了,
android gridview畫分割線 android gridview畫分割線,如圖: 1。先上圖: 2.具體實現代碼: public class Lin
Android源碼中內置包含so文件的APK文件,androidapk 方法一: 1 include $(CLEAR_VARS) 2 #