ActionBar详解(七)--->ActionProvider使用示例

MainActivity如下:

package cc.testsimpleactionbar6;

import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.ShareActionProvider;
/**
 * Demo描述:
 * ActionProvider使用示例
 * 在此以ShareActionProvider为例
 *
 * 备注说明:
 * 在menu的xml文件中需要设置属性:
 * android:actionProviderClass="android.widget.ShareActionProvider"
 *
 * 参考资料:
 * 1 http://docs.eoeandroid.com/training/sharing/shareaction.html
 * 2 http://blog.csdn.net/eclipsexys/article/details/8688538
 * 3 http://blog.csdn.net/think_soft/article/details/7370686
 *   Thank you very much
 *
 */
public class MainActivity extends Activity {
    private ShareActionProvider  mShareActionProvider;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		getMenuInflater().inflate(R.menu.share_menu, menu);
		MenuItem menuItem = menu.findItem(R.id.share_item);
		mShareActionProvider = (ShareActionProvider) menuItem.getActionProvider();
		Intent shareIntent=getShareIntent();
		mShareActionProvider.setShareIntent(shareIntent);
		return true;
	}

	public Intent getShareIntent() {
		Intent intent = new Intent(Intent.ACTION_SEND);
		intent.putExtra(Intent.EXTRA_TEXT, "这里是要分享的文字");
		intent.setType("text/plain");
		Intent.createChooser(intent, "Share");
		return intent;
	}

}

 main.xml如下:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    >

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="ActionProvider使用示例"
        android:layout_centerInParent="true"
        android:textSize="18sp"
    />

</RelativeLayout>

share_menu.xml如下:

<menu xmlns:android="http://schemas.android.com/apk/res/android" >

    <item
        android:id="@+id/share_item"
        android:actionProviderClass="android.widget.ShareActionProvider"
        android:orderInCategory="100"
        android:showAsAction="always"
        android:title="分享"
     />

</menu>

 

时间: 2024-07-31 18:10:47

ActionBar详解(七)---&gt;ActionProvider使用示例的相关文章

Masonry自动布局详解七:ScrollView循环布局

Masonry自动布局详解七:ScrollView循环布局 说到iOS自动布局,有很多的解决办法.有的人使用xib/storyboard自动布局,也有人使用frame来适配.对于前者,笔者并不喜欢,也不支持.对于后者,更是麻烦,到处计算高度.宽度等,千万大量代码的冗余,对维护和开发的效率都很低. 笔者在这里介绍纯代码自动布局的第三方库:Masonry.这个库使用率相当高,在全世界都有大量的开发者在使用,其star数量也是相当高的. 支持原创,请阅读原文 效果图 本节详解Masonry的循环创建视

详解java基于MyBatis使用示例_java

MyBatis的前身叫iBatis,本是apache的一个开源项目, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis.MyBatis是支持普通SQL查询,存储过程和高级映射的优秀持久层框架.MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索.MyBatis使用简单的XML或注解用于配置和原始映射,将接口和Java的POJOs(Plan Old Java Objects,普通的Java对象)

android Fragments详解七:fragement示例

下例中实验了上面所讲的所有内容.此例有一个activity,其含有两个fragment.一个显示莎士比亚剧的播放曲目,另一个显示选中曲目的摘要.此例还演示了如何跟据屏幕大小配置fragment. 主activity创建layout. [java] view plaincopyprint? @Override   protectedvoid onCreate(Bundle savedInstanceState) {      super.onCreate(savedInstanceState); 

actionbar详解(二)

经过前面两篇文章的学习,我想大家对ActionBar都已经有一个相对较为深刻的理解了.唯一欠缺的是,前面我们都只是学习了理论知识而已,虽然知识点已经掌握了,但是真正投入到项目实战当中时会不会掉链子还很难说.那么不用担心,本篇文章我就将带领大家一起进入ActionBar的应用实战,将理论和实践完美结合到一起. 如果你还没有看过我的前两篇文章,建议先去阅读一下 Android ActionBar完全解析,使用官方推荐的最佳导航栏(上) 和 Android ActionBar完全解析,使用官方推荐的最

ActionBar详解(三)---&amp;gt;ActionBar的Home导航功能

FirstActivity如下: package cc.testsimpleactionbar2; import android.os.Bundle; import android.app.Activity; import android.content.Intent; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; /** * Demo描述: *

ActionBar详解(六)---&amp;gt;利用ActionBar结合Fragment实现下拉式导航

MainActivity如下: package cc.testsimpleactionbar5; import android.os.Bundle; import android.widget.ArrayAdapter; import android.app.ActionBar; import android.app.ActionBar.OnNavigationListener; import android.app.Activity; import android.app.FragmentTr

hadoop详解(七) 压缩

文件压缩主要有两个好处,一是减少了存储文件所占空间,另一个就是为数据传输提速.在hadoop大数据 的背景下,这两点尤为重要,那么我现在就先来了解下hadoop中的文件压缩. hadoop里支持很多种压 缩格式,我们看一个表格: DEFLATE是同时使用了LZ77算法与哈夫曼编码(Huffman Coding)的一个无损数据压缩算法,源代码可 以在zlib库中找到.gzip是以DEFLATE算法为基础扩展出来的一种算法. 所有的压缩算法都是空间和时 间的转换,更快压缩时间还是更小的压缩比,可以通

四种生成和解析XML文档的方法详解(介绍+优缺点比较+示例)

原文链接 作者:Alexia(minmin) 众所周知,现在解析XML的方法越来越多,但主流的方法也就四种,即:DOM.SAX.JDOM和DOM4J 下面首先给出这四种方法的jar包下载地址 DOM:在现在的Java JDK里都自带了,在xml-apis.jar包里 SAX:http://sourceforge.net/projects/sax/ JDOM:http://jdom.org/downloads/index.html DOM4J:http://sourceforge.net/proj

window.open()详解及浏览器兼容性问题示例探讨_javascript技巧

一.基本语法: window.open(pageURL,name,parameters) 其中: pageURL 为子窗口路径 name 为子窗口名字 parameters 为窗口参数(各参数用逗号分隔) 二.示例 复制代码 代码如下: <script type="text/javascript"> window.open('page.html','newwindow','height=500,width=800,top=0,left=0, toolbar=no,menub