gpt4 book ai didi

android - ShareActionProvider 带有一个图标 - 看起来像一个简单的 actionitem

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:31:26 24 4
gpt4 key购买 nike

我要显示ShareActionProviderActionBar ,但具有自定义外观和感觉。只有一个简单的分享图标,没有边框,右侧没有最常用的应用程序图标。但为最常用的应用程序提供弹出菜单。有没有一种简单的方法可以在不实现自己的情况下做到这一点 ShareActionProvider ?

最佳答案

好的,所以不管 ActionBarSherlock 首先测试您是否正确创建了您的 Intent ,ABS 使用与通用选择器相同的代码,以便查看您正在寻找的应用程序是否在您执行此代码时出现。

Intent I= new Intent(Intent.ACTION_SEND);
I.setType("text/plain");
I.putExtra(android.content.Intent.EXTRA_TEXT, "My Test Text");

startActivity(Intent.createChooser(I,"Share using ..."));

所有处理纯文本的应用程序都会显示出来,如果 facebook 或您期望的任何内容都不存在,那么这些应用程序不支持您注册的类型(纯文本/文本)的 ACTION_SEND Intent 。 (Facebook 有,但稍后会详细介绍)

ABS 有一个使用共享操作提供程序的示例,但它尝试发送照片,而不是文本消息(状态更新),您应该使用的设置是这样的
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate your menu.
getSupportMenuInflater().inflate(R.menu.share_action_provider, menu);

// Set file with share history to the provider and set the share intent.
MenuItem item = menu.findItem(R.id.menu_item_share_action_provider_action_bar);
ShareActionProvider provider = (ShareActionProvider) item.getActionProvider();
provider.setShareHistoryFileName(ShareActionProvider.DEFAULT_SHARE_HISTORY_FILE_NAME);
// Note that you can set/change the intent any time,
// say when the user has selected an image.
provider.setShareIntent(createShareIntent());

return true
}

这是将用于匹配应用程序并从示例中列出它们的 Intent
private Intent createShareIntent() {
Intent shareIntent = new Intent(Intent.ACTION_SEND);
shareIntent.setType("image/plain");
Uri uri = Uri.fromFile(getFileStreamPath("shared.png"));
shareIntent.putExtra(Intent.EXTRA_STREAM, uri);
shareIntent.putExtra(Intent.EXTRA_TITLE, "This is an android icon");
return shareIntent;
}

但你希望它是
private Intent createShareIntent() {
Intent I= new Intent(Intent.ACTION_SEND);
I.setType("text/plain");
I.putExtra(android.content.Intent.EXTRA_SUBJECT, "TEST - Disregard");
I.putExtra(android.content.Intent.EXTRA_TEXT, Uri.parse("http://noplace.com"));
}

这应该会在 ABS 中为您提供与我在上面的选择器中展示的小型测试 stub 相同的列表。

关于android - ShareActionProvider 带有一个图标 - 看起来像一个简单的 actionitem,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14745740/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com