【问题标题】:how to hide the left menu on tap anywhere on android screen xamarin forms?如何在 android 屏幕 xamarin 表单的任意位置隐藏左侧菜单?
【发布时间】:2017-01-02 16:44:36
【问题描述】:

我正在处理 xamarin 表单。我正在使用主详细信息页面打开左侧菜单。它工作正常。现在菜单仅在用户单击顶部的菜单图标时隐藏。但我想如果菜单打开,那么如果用户点击屏幕上的任何地方,菜单应该隐藏。

我该怎么做?

【问题讨论】:

    标签: android menu xamarin.forms


    【解决方案1】:

    我已经设法使用自定义渲染器来做到这一点。

    [assembly: ExportRenderer(typeof(BaseMasterDetailPage), typeof(MyMasterDetailPageRenderer))]
    
    namespace Driver.Droid.Renderers
    {
        public class MyMasterDetailPageRenderer : MasterDetailPageRenderer
        {
            public override bool OnTouchEvent(Android.Views.MotionEvent e)
            {
                if (e.Action == Android.Views.MotionEventActions.Up)
                    new Task(CloseDrawers).Start(TaskScheduler.FromCurrentSynchronizationContext());
    
                return base.OnTouchEvent(e);
            }
        }
    }
    

    【讨论】:

    • 它有效。但我不明白为什么我们仍然需要自定义渲染器来执行基本的预期行为。
    • 您是否在 Xamarin Forms GitHub 存储库中将此增强请求作为问题提出?
    猜你喜欢
    • 2015-12-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-06
    • 2015-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多