【问题标题】:How to fix the share icon in the support actionbar如何修复支持操作栏中的共享图标
【发布时间】:2016-01-31 16:30:59
【问题描述】:

我正在尝试在我的应用中实现共享功能。到目前为止,它运行良好,我可以将文本共享给所有其他应用程序。问题在于它的显示方式。

我希望共享图标可见,然后当用户点击它时,它会打开操作系统对话框并让用户选择他们想要共享内容的应用程序。

    var share_article = menu.FindItem (Resource.Id.action_share);
    var share_article_provider = (Android.Support.V7.Widget.ShareActionProvider) Android.Support.V4.View.MenuItemCompat.GetActionProvider (share_article);
    share_article_provider.SetShareIntent (CreateIntent ());

和xml:

<item 
    android:id="@+id/action_share"
    myapp:showAsAction="ifRoom"
    android:title="share"
    myapp:actionProviderClass="android.support.v7.widget.ShareActionProvider" />

我的应用目前看起来像这样:

它周围还有一个我不喜欢的白色边框。 有什么办法可以改变图标吗??

我该如何解决??

【问题讨论】:

  • 你的意思是你不想拥有 smm 图标?只是分享图标就足够了吗?
  • @penkzhou,是的,这正是我的意思。当用户单击共享时,它会打开共享对话框。

标签: android xamarin shareactionprovider


【解决方案1】:

你只是想关闭你的分享历史。没有官方的 API 可以做到这一点,但你可以创建自己的ShareActionProvider。实际上有两个类似的问题:

  1. How do you turn off share history when using ShareActionProvider?
  2. How to hide the share action (which use most) icon near the share action provider?

希望这些对您有所帮助。

【讨论】:

    【解决方案2】:

    正如here 提到的,当使用支持库时,这可以很容易地修复。此方法不会关闭共享历史记录,但会隐藏操作栏中的图标。 我只需要将Android.Support.V7.Widget.ShareActionProvider 子类化如下:(C# using Xamarin)

    public class MyShareActionProvider : Android.Support.V7.Widget.ShareActionProvider
    {
        public SingleArticleShareActionProvider (Context context) : base (context)
        {}
    
        public override View OnCreateActionView ()
        {
            return null;
        }
    }
    

    然后在OnCreateOptionsMenu 中使用MyShareActionProvider 之类的:

    var share_article = menu.FindItem (Resource.Id.action_share);
    var share = new SingleArticleShareActionProvider (globalContext);
    
    Android.Support.V4.View.MenuItemCompat.SetActionProvider (share_article, share);
    share_article.SetIcon (Resource.Drawable.abc_ic_menu_share_mtrl_alpha);
    share.SetShareIntent (CreateIntent ());
    

    你可以通过SetIcon方法使用任何你喜欢的图标。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-22
      • 1970-01-01
      • 2012-12-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多