如何動態更新ActionBar MenuItem的圖標以顯示帶有數字的「紅色徽章」? (概念上類似於「未讀消息數」)ActionBar菜單項的動態可繪製圖標? (Android,ActionBarSherlock)
我在我的Android應用程序中使用ActionBarSherlock,目標是API級別10+。我的應用程序用於移動數據捕獲,有時用戶不能立即提交新數據,但必須在本地保存在手機上(例如,當連接不暢時)(例如連接不暢時)
每當在手機上存儲本地「未提交」的項目時,我想向用戶顯示一個菜單項(在操作欄中)他們可以點擊進入UnsubmittedItems活動並手動觸發上傳。
理想情況下,這個菜單項會有一些圖形化的提交未提交的項目數量(類似於電子郵件或短信應用程序將未讀郵件數量顯示爲徽章的數量)。目前,我只是在做:
unsubmittedMenuItem.setTitle(Integer.toString(numUnsubmitted));
而這個工作,但兩個問題:我寧願使用的圖標,並保持標題的東西理解(「未提交」),並且還,我想喜歡在這裏有一些自定義的佈局或設計,如數字背後的紅色圓圈背景。
有關如何完成此任務的想法?到目前爲止,我的研究表明兩種可能:
- 使用水平儀列表繪製的是預先創建的某些範圍內的數字(如1,2,3 ... 10+),然後unsubmittedMenuItem.getIcon()setLevel(。 numUnsubmitted)
- 建立整個位圖完全動態的,使用位圖和Canvas API的
這些都是在我呈現文本爲位圖(或者像離線#1或對飛的感覺相似像#2),但如果可能的話,利用ActionBar的「本地」文本渲染並且簡單地在它後面插入像紅圈一樣的TextView會很好。
是否有某種方法可以爲可繪製圖標設置自定義佈局? (不是全actionLayout,只是圖標?)
謝謝傑克(我是你工作btw的巨大粉絲)。讓我花一些時間試圖解決#3 - 關於整個操作欄與特定菜單項的自定義佈局,文獻相當混亂,但我會深入研究。 –
一旦您成功通過所有Android概念/抽象,選項#3絕對是您的選擇,實際上非常簡單。我錯誤地認爲'自定義操作視圖'接管了整個操作欄(如在經常引用的擴展搜索框示例中),但是如果您只是執行wrap_content,則可以非常容易地創建自定義「圖標」。謝謝! –
@MikeRepass我遇到過類似的問題,請問您可以與我們分享您的經驗嗎? – NullPointer