Adding an Easy Share Action
来源:互联网 发布:js获取input属性值 编辑:程序博客网 时间:2024/06/01 08:34
ShareActionProvider 提供一种简单的方式通过Intent发送数据给其他application,如Google+ 微信等。 ShareActionProvider一般嵌入到当前UI中。
要使用 ShareActionProvider 必须在menu 资源中定义 android:actionProviderClass
如下所示:
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/menu_item_share"
android:showAsAction="ifRoom"
android:title="Share"
android:actionProviderClass=
"android.widget.ShareActionProvider" />
...
</menu>
下来就要准备Intent 让ShareActionProvider来share 数据.
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);
}
}
上面的sample code中现在onCreateOptionsMenu 中找到ShareActionProvider。然后用setShareIntent来设定需要share的Intent.
然后一般会在listener的回调函数中调用setShareIntent。
如下所示:
private final ViewPager.OnPageChangeListener mOnPageChangeListener
176 = new ViewPager.OnPageChangeListener() {
177
178 @Override
179 public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
180 // NO-OP
181 }
182
183 @Override
184 public void onPageSelected(int position) {
185 setShareIntent(position);
186 }
187
188 @Override
189 public void onPageScrollStateChanged(int state) {
190 // NO-OP
191 }
192 };
要使用 ShareActionProvider 必须在menu 资源中定义 android:actionProviderClass
如下所示:
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/menu_item_share"
android:showAsAction="ifRoom"
android:title="Share"
android:actionProviderClass=
"android.widget.ShareActionProvider" />
...
</menu>
下来就要准备Intent 让ShareActionProvider来share 数据.
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);
}
}
上面的sample code中现在onCreateOptionsMenu 中找到ShareActionProvider。然后用setShareIntent来设定需要share的Intent.
然后一般会在listener的回调函数中调用setShareIntent。
如下所示:
private final ViewPager.OnPageChangeListener mOnPageChangeListener
176 = new ViewPager.OnPageChangeListener() {
177
178 @Override
179 public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
180 // NO-OP
181 }
182
183 @Override
184 public void onPageSelected(int position) {
185 setShareIntent(position);
186 }
187
188 @Override
189 public void onPageScrollStateChanged(int state) {
190 // NO-OP
191 }
192 };
0 0
- Adding an Easy Share Action
- 《Training:Adding an Easy Share Action》
- Adding an Easy Share Action 添加一个简单的共享行动
- Adding the Action Bar - Adding Action Buttons
- 添加一个向前导航的动作(Adding an Up Action)
- <<iText in Action 2nd>>4.4 (Adding a table at an absolute position)读书笔记
- 04 Adding Action Buttons
- Adding Action Buttons
- 【English】Android -> Training -> Adding the Action Bar -> Adding Action Buttons
- Adding the Action Bar --1.1
- Adding Action Buttons --1.1.2
- 添加一个简单Share Action
- An Easy Problem
- An Easy DVD Ripper
- 1076 An Easy Task
- 2055 An easy problem
- Zipalign: an Easy Optimization
- An Easy Problem!
- google不安全应用访问设置
- Thread Pool 线程池 使用 线程优化
- 利用Multipeer Connectivity框架进行WiFi传输
- 用关联规则挖掘超市购物的商品组合
- JSON库之性能比较:JSON.simple VS GSON VS Jackson VS JSONP
- Adding an Easy Share Action
- 【Android】自定义theme解决进入app闪黑屏问题
- HDU 1176(动态规划)
- newInstance 和 new的 区别
- 从上往下打印二叉树
- ubuntu mysql远程连接
- 不能直接ssh远程连接远端ubuntu 16.04.1的解决办法
- 使用OleDb写入Excel异常,"字段太小而不能接受所要添加的数据的数量" "the field is too small to accept the amount of data "
- 对js cookie的一些理解