• 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; @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    tv = (TextView) findViewById(R.id.tv);
    } @Override
    public 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 stub
    this.context = context;
    } @Override
    @Deprecated
    public View onCreateActionView() {
    // TODO Auto-generated method stub
    TextView tv = new TextView(context); tv.setText("分享"); tv.setOnClickListener(new OnClickListener() { @Override
    public void onClick(View v) {
    // TODO Auto-generated method stub
    Toast.makeText(context, "自定义的分享", 0).show();
    }
    }); return tv;
    } }

15 ActionProvider代码例子的更多相关文章

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

    From: http://www.jb51.net/article/51884.htm 这篇文章主要介绍了30个php操作redis常用方法代码例子,本文其实不止30个方法,可以操作string类型. ...

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

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

  3. 爱漂泊人生 30个php操作redis常用方法代码例子

    http://www.justwinit.cn/post/8789/ 背景:redis这个新产品在sns时很火,而memcache早就存在, 但redis提供出来的功能,好多网站均把它当memcach ...

  4. 30个php操作redis常用方法代码例子【转】

    背景:redis这个新产品在sns时很火,而memcache早就存在, 但redis提供出来的功能,好多网站均把它当memcache使用,这是大才小用,这儿有30个方法来使用redis,值得了解. 这 ...

  5. 最小包围多边形(凸包;最小包围点集)——C代码例子

    本文来自:http://alienryderflex.com/smallest_enclosing_polygon/ 这个C代码例子需要一群2维点集,如下图所示: 要获得包含这些点的最小多边形如下图所 ...

  6. 捕鱼达人代码例子下载地址 mac版

    捕鱼达人代码例子下载地址  mac版: http://pan.baidu.com/share/link?shareid=1431898404&uk=3189484501

  7. 捕鱼达人代码例子下载地址 Win版

    捕鱼达人代码例子下载地址 Win版:: http://pan.baidu.com/share/link?shareid=1601576904&uk=3189484501

  8. 一些 NSArray 的基本操作代码例子

    一些 NSArray 的基本操作代码例子 数组可以说是软件开发人员每天都要面对的基本操作,下面就分享一些 NSArray 的基本操作代码例子供苹果开发初学者参考,每段代码第一行会以注释方式说明该段代码 ...

  9. jeecg 主-附表生成代码例子

    jeecg 主-附表生成代码例子 - CSDN博客https://blog.csdn.net/u010411264/article/details/51243277 JEECG Online Codi ...

随机推荐

  1. HDU 2082 找单词

    Problem Description 假 设有x1个字母A, x2个字母B,..... x26个字母Z,同时假设字母A的价值为1,字母B的价值为2,..... 字母Z的价值为26.那么,对于给定的字 ...

  2. codeforces 868B Race Against Time

    Have you ever tried to explain to the coordinator, why it is eight hours to the contest and not a si ...

  3. 【网络流】【BZOJ1006】【SCOI2007】蜥蜴

    学弟@lher在周末训练赛中出的题目的原题(这个人拿省选题来当作提高组模拟,太丧了...) 题意简析:看题目:) 解题思路:题目显然是最大流. 首先拆点将点权变为边权,然后按照题意对于所有有跳板的点向 ...

  4. ●BZOJ 1934 [Shoi2007]Vote 善意的投票

    题链: http://www.lydsy.com/JudgeOnline/problem.php?id=1934 题解: 题目有点迷. S向为1的点连边,为0的点向T连边,在有关系的两个点之间连双向边 ...

  5. hdu 5015(矩阵快速幂z )

    a[i][j] = a[i-1][j] + a[i][j-1] m.特别大,可以计算出第一列,找出规律,构建一个特殊的矩阵,运用快速幂 设矩阵x: 1 0 0 0 ... |10 1 1 1 0 0 ...

  6. 抽象方法不能是static或native或synchroniz

    abstract 是抽象了,只有声明,没有具体的实现方法 static是静态的,是一种属于类而不属于对象的方法或者属性,而我们知道,类其实也是一个对象,他是在class文件加载到虚拟机以后就会产生的对 ...

  7. SpringCloud学习之feign

    一.关于feigin feigin是一种模板化,声明式的http客户端,feign可以通过注解绑定到接口上来简化Http请求访问.当然我们也可以在创建Feign对象时定制自定义解码器(xml或者jso ...

  8. 如何为分布式系统优雅的更换RPC

    为啥需要更换RPC? 很多小伙伴都遇到过需要为分布式系统调用更换RPC的问题,为什么会遇到这种事呢?其实,在系统搭建初期,需求简单,架构简单,最重要的是请求量也少,所以很多系统都采用快速原型开发模式, ...

  9. Go 实现 NumberFormat 函数

    [转] http://www.syyong.com/Go/Go-implements-the-NumberFormat-algorithm.html NumberFormat - 以千位分隔符方式格式 ...

  10. IOS和OSX事件传递机制

    本文ios部分转载自: http://zhoon.github.io/ios/2015/04/12/ios-event.html iOS的事件有好几种:Touch Events(触摸事件).Motio ...