I Action Bar我正在使用ShareActionProvider,但是面对小问题,我还获得了Messenger Icon以及Share Icon,我不想在我的Action Bar中显示Messenger Icon。
那么如何从Action Bar中删除Messenger图标,请参阅我的代码:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
mShareActionProvider = (ShareActionProvider) menu.findItem(R.id.menu_item_share).getActionProvider();
if (mShareActionProvider != null) {
mShareActionProvider.setShareIntent(getDefaultShareIntent());
}
return super.onCreateOptionsMenu(menu);
}
private Intent getDefaultShareIntent(){
Intent intent = new Intent(Intent.ACTION_SEND);
intent.setType("text/plain");
intent.putExtra(Intent.EXTRA_SUBJECT, "SUBJECT");
intent.putExtra(Intent.EXTRA_TEXT, "TEXT");
return intent;
}
我只是想在我的Action Bar中显示Share Icon而不是Messenger Icon ...
见屏幕截图:
答案 0 :(得分:1)
欢迎您尝试setShareHistoryFileName(null)
,看看是否会阻止第二个图标以及历史记录。
否则,您需要编写自己的操作提供程序作为ShareActionProvider
的替代。或者,您需要尝试分叉ShareActionProvider
来阻止第二个图标。
答案 1 :(得分:0)
以这种方式在布局中创建菜单:
<item
android:showAsAction="always"
android:icon="@drawable/share_icon"/>
当您点击它时,您可以显示默认的共享源。