【问题标题】:Xamarin.Forms Hamburger Menu Icon gone after Update to Xamarin.Forms 2.2Xamarin.Forms 汉堡菜单图标在更新到 Xamarin.Forms 2.2 后消失
【发布时间】:2016-04-29 08:41:28
【问题描述】:

在我将 Xamarin.Forms 项目从 Xamarin.Forms 2.0 更新到 Xamarin.Forms 2.2 后,汉堡图标消失了。

我用谷歌搜索过,有没有人遇到过同样的问题?

【问题讨论】:

    标签: c# xamarin.forms master-detail hamburger-menu


    【解决方案1】:

    如果默认图标消失了,您可以设置自己的主页图标,例如:

    public class MasterPage : MasterDetailPage
    {
        FlyOutMenuPage menu = new FlyOutMenuPage ();
        Master = menu;
    }
    
    public class FlyOutMenuPage : ContentPage
    {
        Icon = "menu.png";
    } 
    

    而menu.png是一个资源图片,你可以从这里得到很多图标:

    https://www.iconfinder.com/search/?q=hamburger&price=free

    【讨论】:

    • 感谢您的提示。我在应用程序中有一些图片,这些图片已经可以在按钮上使用。我将其中一个设置为 masterdetailpage 的图标,但 MasterButton (Hamburger) 仍然不可用。 ;(这可能是一个错误,只出现在 Win10 UWP 应用程序中吗?
    • 我想补充一点,有很多人反对将 tge 汉堡菜单作为一种降低用户参与度的设计模式。所以也要考虑其他导航模式(例如工具栏、选项卡或菜单链接)
    • 建议使用 32x32 的图标。你可以在这里找到:freeicons.io/office-and-workstation-icons-5/menu-icon-18931#
    【解决方案2】:

    我的在 Android 中是隐藏的,所以我必须编写一个自定义渲染器来应用颜色并设置不透明度以再次显示它:

    [assembly: ExportRenderer(typeof(CustomNavigationPage), typeof(CustomNavigationRenderer))]
    
    namespace App.Droid
    {
        public class CustomNavigationRenderer : NavigationPageRenderer
        {
    
            public CustomNavigationRenderer(Context context) : base(context)
            {
            }
    
            protected override void OnLayout(bool changed, int l, int t, int r, int b)
            {
                base.OnLayout(changed, l, t, r, b);
                var toolbar = FindViewById<Android.Support.V7.Widget.Toolbar>(Resource.Id.toolbar);
                for (var i = 0; i < toolbar.ChildCount; i++)
                {
                    var imageButton = toolbar.GetChildAt(i) as ImageButton;
    
                    var hamburger = imageButton?.Drawable as DrawerArrowDrawable;
                    if (hamburger == null)
                        continue;
    
                    hamburger.Color = Context.GetColor(Resource.Color.primary_text_default_material_light);
                    hamburger.Alpha = 255;
                }
    
    
            }
        }
    }
    

    【讨论】:

      【解决方案3】:

      请注意,IOS 版本不显示汉堡菜单。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-12-14
        • 2021-07-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-01-17
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多