博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ActionBar中ShareActionProvider简单使用
阅读量:6159 次
发布时间:2019-06-21

本文共 3098 字,大约阅读时间需要 10 分钟。

hot3.png

//功能:点击中间机器人图标打开图库 然后选中要分享的图片

//在点击选择菜单分享图标 分享到需要分享的地方

效果示例图:

195400_TPy3_2542711.png

1、选择菜单  share_menu.xml 布局

代码

<?xml version="1.0" encoding="utf-8"?>

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

    <item

        android:id="@+id/actionprovider"

        android:actionProviderClass="android.widget.ShareActionProvider"

        android:showAsAction="always"

        android:title=""/>

</menu>

===================

2、主布局activity_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"

    tools:context="${relativePackage}.${activityClass}" >

    <TextView

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:text="@string/hello_world" />

    

    

    <ImageView

        android:id="@+id/imageview"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:src="@drawable/ic_launcher" 

        android:layout_centerInParent="true"

        android:onClick="onclickImage"/>

</RelativeLayout>

==============

3、MainActivity类

代码

public class MainActivity extends Activity {

private ShareActionProvider provider;

private ImageView imageView;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

this.imageView = (ImageView) this.findViewById(R.id.imageview);

}

//图片点击事件监听

public void onclickImage(View view){

Intent intent = new Intent();

intent.setAction(Intent.ACTION_GET_CONTENT);//打开图库的动作设置

intent.setType("image/*");

int requestCode = 1;

startActivityForResult(intent, requestCode );

}

//打开图库后选择图片后的回调方法

@Override

protected void onActivityResult(int requestCode, int resultCode, Intent data) {

super.onActivityResult(requestCode, resultCode, data);

if(requestCode == 1 && resultCode == Activity.RESULT_OK){

Uri uri = data.getData();

try {

ContentResolver resolver = getContentResolver();

InputStream is = resolver.openInputStream(uri);

Bitmap bitmap = BitmapFactory.decodeStream(is);

imageView.setImageBitmap(bitmap);

} catch (Exception e) {

e.printStackTrace();

}

//设置分享的数据和类型

Intent intent = new Intent();

intent.setAction(Intent.ACTION_SEND);

intent.setType("image/*");

intent.putExtra(Intent.EXTRA_STREAM, uri);

//通过setShareIntent方法设置要分享的数据

provider.setShareIntent(intent);

}

}

//创建一个选择菜单

@Override

public boolean onCreateOptionsMenu(Menu menu) {

getMenuInflater().inflate(R.menu.share_menu, menu);

/*//文本分享

shareTxt(menu);*/

//分享图片

shareImg(menu);

return super.onCreateOptionsMenu(menu);

}

private void shareImg(Menu menu) {

MenuItem item_provider = menu.findItem(R.id.actionprovider);

   provider = (ShareActionProvider) item_provider.getActionProvider();

}

/*//分享文本的方法

public void shareTxt(Menu menu) {

MenuItem item_provider = menu.findItem(R.id.actionprovider);

   provider = (ShareActionProvider) item_provider.getActionProvider();

   

   Intent intent = new Intent();

   intent.setAction(Intent.ACTION_SEND);

   intent.setType("text/plain");

   intent.putExtra(Intent.EXTRA_TEXT, "这是文本信息");

  //用ShareActionProvider发送意图

   provider.setShareIntent(intent);

}*/

}

转载于:https://my.oschina.net/u/2542711/blog/613494

你可能感兴趣的文章
Docker镜像与容器命令
查看>>
批量删除oracle中以相同类型字母开头的表
查看>>
Java基础学习总结(4)——对象转型
查看>>
BZOJ3239Discrete Logging——BSGS
查看>>
SpringMVC权限管理
查看>>
spring 整合 redis 配置
查看>>
cacti分组发飞信模块开发
查看>>
浅析LUA中游戏脚本语言之魔兽世界
查看>>
飞翔的秘密
查看>>
Red Hat 安装源包出错 Package xxx.rpm is not signed
查看>>
编译安装mysql-5.6.16.tar.gz
查看>>
活在当下
查看>>
每天进步一点----- MediaPlayer
查看>>
PowerDesigner中CDM和PDM如何定义外键关系
查看>>
跨域-学习笔记
查看>>
the assignment of reading paper
查看>>
android apk 逆向中常用工具一览
查看>>
MyEclipse 报错 Errors running builder 'JavaScript Validator' on project......
查看>>
Skip List——跳表,一个高效的索引技术
查看>>
Yii2单元测试初探
查看>>