編輯:Android開發實例
在Android 4.0 (API Level 14)中引入的ActionProvider方便了在ActionBar中添加share action,一個ActionProvider一旦和ActionBar中的某個菜單項綁定起來,它就會負責該菜單項的界面繪畫更新和事件處理。借助於ShareActionProvider,您只需要設置一個share intent就可以了,其余的事情都交給ShareActionProvider來處理。 注意:ShareActionProvider 要求最低 API Level 14
要想使用ShareActionProviders,您需要在菜單資源文件( menu resource)的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>
通過如上的定義,就把該菜單項的界面顯示和消息事件處理委托給ShareActionProviders,不過具體要顯示的內容還是需要您來指定。
為了使 ShareActionProvider 可以正常工作,您還必須要設置Share Intent。這個Share Intent和第一節課《Android 信息共享專題之內容發布》中講解的Intent一樣,需要設置其Action為 ACTION_SEND,要發送的內容通過鍵值 EXTRA_TEXT 或者EXTRA_STREAM設置到該Intent中。具體步驟如下,您首先需要在Activity 或者 Fragment中inflating(加載)菜單資源文件,找到上文中聲明的那個菜單項MenuItem(如menu_item_share),接著呼叫方法MenuItem.getActionProvider()來獲得一個ShareActionProvider實例,最後調用setShareIntent()把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。 想了解更多的關於ShareActionProvider 方面的知識,請參照Action Bar指南。 參考文摘: http://developer.android.com/training/sharing/shareaction.html
原文: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/ | 潤物無聲
Android提供了許多方法來控制播放的音頻/視頻文件和流。其中該方法是通過一類稱為MediaPlayer。Android是提供MediaPlayer類訪問內置的媒體播放
如圖所示為程序效果動畫圖 地圖滾動的原理 在本人之前博客的文章中介紹過人物在屏幕中的移動方式,因為之前拼的游戲地圖是完全填充整個手機屏幕的,所以無需處理地圖的平
目前有越來越多的手機具備自動對焦的拍攝功能,這也意味著這些手機可以具備條碼掃描的功能。手機具備條碼掃描的功能,可以優化購物流程,快速存儲電子名片(二維碼)等。 本
之前曾經在網上看到Android仿QQ空間底部菜單的Demo,發現這個Demo有很多Bug,布局用了很多神秘數字。於是研究了一下QQ空間底部菜單的實現,自己寫了一