在两列中自定义ShareActionProvider

时间:2015-03-15 18:40:37

标签: android shareactionprovider

我正在尝试自定义ShareActionProvider。我有一个普通的观点,你可以使用Android Api的代码,但我希望当我按下按钮时,我可以查看带有背景白色和两列图标的图标。检查此链接以查看我可以获取的图像(我只想要两列,而不是三列)(http://www.google.co.uk/imgres?imgurl=http://2.bp.blogspot.com/-yyTE06oLZ80/UmAPGz6nWKI/AAAAAAAAPZ4/EW_ifnzgOJ4/s1600/share%252Bvia.png&imgrefurl=http://www.yourtechielibrarian.com/2013/10/pushbullet-serving-up-your-stuff-on.html&h=1600&w=1000&tbnid=W-JLGdsPzG0GmM:&zoom=1&docid=LxxnoO0bPmGaxM&ei=mtEFVfHzNYWE7gbaxICQBQ&tbm=isch&client=ubuntu&ved=0CCAQMygBMAE

我的代码是android api的示例代码....

  @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate menu resource file.
        getMenuInflater().inflate(R.menu.menu_activity__articulo, menu);

        // Locate MenuItem with ShareActionProvider
        MenuItem item = menu.findItem(R.id.menu_item_share);

        // Fetch and store ShareActionProvider
//        mShareActionProvider = (ShareActionProvider) item.getActionProvider();

        mShareActionProvider = (ShareActionProvider) menu.findItem(R.id.menu_item_share).getActionProvider();
        mShareActionProvider.setShareIntent(getDefaultShareIntent());
        // Return true to display menu
        return super.onCreateOptionsMenu(menu);
    }

    /** Returns a share intent */
    private Intent getDefaultShareIntent(){
        Intent intent = new Intent(Intent.ACTION_SEND);
        intent.setType("text/plain");
        intent.putExtra(Intent.EXTRA_SUBJECT, "Hi, read me");
        intent.putExtra(Intent.EXTRA_TEXT, articulo.getEnlace());
        return intent;
    }

**xml file**

<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>

1 个答案:

答案 0 :(得分:0)

您需要编写自己的ActionProvider,或许是分叉ShareActionProvider作为起点。 ShareActionProvider没有选项可以满足您的要求。