• Menu文件夹下代码:

    <menu xmlns:android="http://schemas.android.com/apk/res/android" ><!-- 系统提供的分享: android:actionProviderClass="包名.类名"android:actionProviderClass="android.widget.ShareActionProvider"--><item
            android:id="@+id/action_shared"android:orderInCategory="100"android:showAsAction="always"android:actionProviderClass="android.widget.ShareActionProvider"/><item
            android:id="@+id/action_custom"android:orderInCategory="100"android:showAsAction="always"android:actionProviderClass="com.qf.day15_actionbar_demo3.MyProvider"/></menu>
    
    • 界面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"android:paddingBottom="@dimen/activity_vertical_margin"android:paddingLeft="@dimen/activity_horizontal_margin"android:paddingRight="@dimen/activity_horizontal_margin"android:paddingTop="@dimen/activity_vertical_margin"tools:context=".MainActivity" ><TextView
            android:id="@+id/tv"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="内涵段子" /></RelativeLayout>
    
  • MainActivity界面逻辑代码:

    package com.qf.day15_actionbar_demo3;import android.os.Bundle;
    import android.app.Activity;
    import android.content.Intent;
    import android.view.Menu;
    import android.view.MenuItem;
    import android.widget.ShareActionProvider;
    import android.widget.TextView;public class MainActivity extends Activity {private TextView tv;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);tv = (TextView) findViewById(R.id.tv);}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.main, menu);MenuItem item = menu.findItem(R.id.action_shared);ShareActionProvider provider = (ShareActionProvider) item.getActionProvider();Intent shareIntent = new Intent(Intent.ACTION_SEND);shareIntent.setType("text/plain");//分享的数据类型   文本//分享的数据shareIntent.putExtra(Intent.EXTRA_TEXT, tv.getText().toString().trim());provider.setShareIntent(shareIntent);return true;}}
    
  • 一个自定义ActionProvider代码:

    package com.qf.day15_actionbar_demo3;import android.content.Context;
    import android.view.ActionProvider;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.TextView;
    import android.widget.Toast;public class MyProvider extends ActionProvider {private Context context;public MyProvider(Context context) {super(context);// TODO Auto-generated constructor stubthis.context = context;}@Override@Deprecatedpublic View onCreateActionView() {// TODO Auto-generated method stubTextView tv = new TextView(context);tv.setText("分享");tv.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubToast.makeText(context, "自定义的分享", 0).show();}});return tv;}}
    

15 ActionProvider代码例子相关推荐

  1. 30 个 php 操作 redis 常用方法代码例子

    这篇文章主要介绍了 30 个 php 操作 redis 常用方法代码例子 , 本文其实不止 30 个方法 , 可以操作 string 类 型. list 类型和 set 类型的数据 , 需要的朋友可以 ...

  2. Java swing 代码例子

    Java swing 代码例子 package com; import java.awt.Button; import java.awt.Container; import java.awt.even ...

  3. Java日期与时间API(详解全部新与旧API,含代码例子)

    目录 前言必读 二.新与旧API 新的API: 旧的API: 初步使用大全(SimpleDateFormat) 三.代码例子 1.获取当前时间 2.字符串转化为时间 四.新的API 1.LocalDa ...

  4. spring cloud微服务治理eureka、hystrix、zuul代码例子

    spring cloud微服务中台服务代码例子,包括eureka.hystrix.zuul https://github.com/birdstudiocn/spring-cloud-sample/tr ...

  5. Python到底有多强大?只需 15 行代码即可进行人脸检测

    无论你是最近开始探索OpenCV还是已经使用它很长一段时间,在任何一种情况下,您都一定遇到过"人脸检测"这个词.随着机器变得越来越智能,它们模仿人类行为的能力似乎也在增加,而人脸检 ...

  6. 都说Djnago框架重,那就让哥用15行代码写个django web程序!

    很多初学django的小伙伴都会了解到,django是个大而全的网络框架,本身集成了ORM.模型绑定.模板引擎.缓存.Session等诸多功能.要学这么多内容,要学到猴年马月啊!? 不过世界真是奇妙, ...

  7. MySQL笔记12:C语言访问MYSQL数据库的完整的代码例子

    C语言访问MYSQL数据库的完整的代码例子 1.手写安装带mysql sdk 的mysql 2.新建控制台项目,项目属性中把 C:\Program Files\MySQL\MySQL Server 5 ...

  8. awvs 13使用_如何解密AWVS?15行代码就够了!

    项目介绍 AWVS一直以来在圈子中都比较火,以速度快和高准确性深受大家喜爱.很多人想研究其运作机制却因闭源而不得其解. 今天这里通过一个极其简单的方式,只用几行代码就能让你一见其核心代码.这是最新解码 ...

  9. 15行代码让苹果设备崩溃,最新的iOS 12也无法幸免

    安全研究人员Sabri Haddouche发现了一个只需几行代码就可以让iPhone崩溃并重启的方法. \\ Sabri Haddouche在GitHub上发布了一个示例网页,只有15行代码,如果在i ...

最新文章

  1. RTT设备与驱动之PWM
  2. 使用 Elixir 开发嵌入式系统: 使用DS18B20传感器测量体温
  3. Chapter1-3_Speech_Recognition(CTC, RNN-T and more)
  4. Notepad++ 使用心得
  5. python检查_python – 检查属性是否存在的最佳方法是什...
  6. 别太相信自己,总有一种诈骗戳中你的刚需
  7. Java中无法到达的语句
  8. seaborn箱线图_Seaborn线图的数据可视化
  9. 可能是史上最全的权限系统设计
  10. 刚体运动学公式_刚体的运动学与动力学问题 (二)
  11. 269个JavaScript工具函数,助你提升工作效率(2)
  12. 2021年山东省安全员A证考试内容及山东省安全员A证新版试题
  13. 维基百科放弃php,部署维基百科后页面出现的错误
  14. 鱼眼相机外参的计算和图像的透视变换
  15. 机械制造作业考研题目答案分享——回转体的加工
  16. 菜鸟一枚,请大家多多关照
  17. solve函数c语言_c语言:回溯解数独程序
  18. 神经网络训练平台,在线神经网络训练
  19. PFC电源设计与电感设计计算学习笔记
  20. dedecms图片绝对路径(附件绑定域名)的设置方法

热门文章

  1. nginx的https安全认证CA
  2. 宅男知识大补丸 学多态 认包包
  3. OceanBase CEO杨冰:“云+开源”是数据库产业发展趋势
  4. 【笨嘴拙舌WINDOWS】计时器精度
  5. Spring boot RestTemplate 统一添加 Header
  6. Fabric 1.0源代码分析(30) Orderer #BroadcastServer(Broadcast服务端)
  7. k8s中部署traefik并开启https支持
  8. 前端架构之路(3) - 前端开发规范
  9. 如何批量新建文件夹,名称用excel里的
  10. 鸿蒙是几纳米的,曝鸿蒙+5纳米+新一代5G华为Mate40,华为Mate30价格爆降强弩之末...