編輯:關於android開發
在Android 4.0 (API Level 14)中引入的方便了在中添加share action,一個一旦和中的某個菜單項綁定起來,它就會負責該菜單項的界面繪畫更新和事件處理。借助於,您只需要設置一個share intent就可以了,其余的事情都交給來處理。 注意:ShareActionProvider 要求最低 API Level 14
要想使用,您需要在菜單資源文件( )的Share菜單項<item>中聲明android:actionProviderClass屬性,示例如下
<menu xmlns:android="<a href="http://schemas.android.com/apk/res/android">http://schemas.android.com/apk/res/android</a>"> <item android:id="@+id/menu_item_share" android:showAsAction="ifRoom" android:title="Share" android:actionProviderClass="android.widget.ShareActionProvider" /> ... </menu>
通過如上的定義,就把該菜單項的界面顯示和消息事件處理委托給,不過具體要顯示的內容還是需要您來指定。
為了使 可以正常工作,您還必須要設置Share Intent。這個Share Intent和第一節課《》中講解的Intent一樣,需要設置其Action為 ,要發送的內容通過鍵值 或者設置到該Intent中。具體步驟如下,您首先需要在 或者 中inflating(加載)菜單資源文件,找到上文中聲明的那個菜單項(如menu_item_share),接著呼叫方法來獲得一個實例,最後調用把Share Intent和該菜單項關聯起來。 示例代碼:
private ShareActionProvider mShareActionProvider; ... @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate menu resource file. getMenuInflater().inflate(R.menu.share_menu, menu); // Locate MenuItem with ShareActionProvider MenuItem item = menu.findItem(R.id.menu_item_share); // Fetch and store ShareActionProvider mShareActionProvider = (ShareActionProvider) item.getActionProvider(); // Return true to display menu return true; } // Call to update the share intent private void setShareIntent(Intent shareIntent) { if (mShareActionProvider != null) { mShareActionProvider.setShareIntent(shareIntent); } }
您可能會選擇只有在第一次創建菜單的時候設置share intent一次,其余菜單界面刷新的時候都不會再改變intent的設置了,或者也會選擇每次菜單刷新的時候就重新設置intent一次,隨著UI界面的改變會更新不同的intent。例如,您在Gallery app中全屏幕浏覽圖片的時候和滾動浏覽圖片的時候可能會設置不同的sharing intent。 想了解更多的關於 方面的知識,請參照指南。 參考文摘:
原文:http://blog.zhourunsheng.com/2012/01/android-%e4%bf%a1%e6%81%af%e5%85%b1%e4%ba%ab%e4%b8%93%e9%a2%98%e4%b9%8bactionbar%e6%b7%bb%e5%8a%a0%e5%88%86%e4%ba%ab%e5%8a%a8%e4%bd%9c/ | 潤物無聲
編譯器開發系列--Ocelot語言5.表達式的有效性檢查,--ocelot有效性本篇將對“1=3”“&5”這樣無法求值的不正確的表達式進行檢查。 將檢查如下這些問
Android開發學習之路--Camera之初體驗 顧名思義Camera就是拍照和錄像的功能,像微信裡面,我們想拍照傳一下照片,就可以通過camera來拍照,然後存儲
Linux內核系列—8.操作系統開發之時鐘中斷,linux內核外部中斷的情況復雜一些,因為需要建立硬件中斷與向量號之間的對應關系。外部中斷分為不可屏蔽中斷(NMI)和可屏
App解讀,新聞解讀app一直不懂別人口中說的原生開發、混合式開發。今天突然看了一篇文章講解的是什麼叫做原生App?移動 Web App?混合APP?分享給大家。 原生A