android - 如何隐藏共享操作提供者附近的共享操作(最常用的)图标?

标签 android android-actionbar actionbarsherlock shareactionprovider

看图。如何隐藏“P”图标(表示分享到 Pinterest)?

enter image description here

它们都在操作栏上,我使用 ActionBarSherlock。

最佳答案

如果您希望保留所有共享历史数据模型,但只是不想要额外的“默认共享 Activity ”icom。答案在How do you turn off share history when using ShareActionProvider?还不够好。

你应该做的是:

  • 将这些类从 ActionBarSherlock 复制到您的项目代码
    • ShareActionProvider.java
    • ActivityChooserView.java
  • 在您的 ShareActionProvider.java 类中,导入您刚刚复制的 ActivityChooserView.java 而不是 ActionBarShelock 文件位置
  • 在 ActivityChooserView.java -
    • 找到行 if (activityCount > 0 && historySize > 0)
    • 将此行替换为 if (false) (这很丑陋,但这是最快的修复方法。您可以深入研究代码以删除所有出现的 DefaultActivity 实现)

编辑: 不要忘记将新的 ActionProvider 设置到您的菜单项,从 XML 来看它看起来像:android:actionProviderClass="com.*.CustomShareActionProvider"

就是这样!

关于android - 如何隐藏共享操作提供者附近的共享操作(最常用的)图标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15755465/

相关文章:

Android TabHost 中心 Activity 选项卡

android - 有没有办法使用同一个库的两个不同版本,所以android中的文件

java - Android ReactNative java.lang.UnsatisfiedLinkError :could find DSO to load: libreactnativejni. 所以

android - 带有 fragment 的操作栏向上导航

android - 即使 onCreateView 再次运行,按 BACK 后 View 也没有正确重新组合?

android - fwidth() tegra 3 glsl

android - 更改 ActionBar 中的操作溢出文本颜色

android - AppCompat ShareActionProvider 图标与其他图标相比太大

android - 如何在 gradle.build 脚本中引用 aar 文件?

android - 错误 :(254) Attribute "background" already defined with incompatible format