除非放在 NavigationPage 中,否则主详细信息图标不会响应 FlowDirection.RightToLeft

The Master detail icon doesn't respond to the FlowDirection.RightToLeft unless put in NavigationPage

即使我将 FlowDirection 设置为 RightToLeft,主详细信息页面的汉堡包按钮始终位于左侧,当 MainPage 在 [=] 中以这种方式设置时会发生这种情况30=]:

MainPage = new MasterDetailPage();

菜单本身在右边:

但是我注意到当我把它放在 NavigationPage 中时它工作正常:

MainPage = new NavigationPage( new MasterDetailPage()); 但是使用这种方法后退按钮仍然向左对齐!!

并且我必须将 NavigationPage.HasNavigationBar 设置为 False,以使其看起来正常(没有 NavigationBar 位于母版页的顶部)。 这个问题有解决办法吗?

我通过为 NavigationPage

创建渲染器解决了这个问题
[assembly: ExportRenderer(typeof(NavigationPage), typeof(CustomNavigationPageRenderer))]
namespace MyApp.Droid.Renderers
{

    class CustomNavigationPageRenderer : Xamarin.Forms.Platform.Android.AppCompat.NavigationPageRenderer
    {
        public CustomNavigationPageRenderer(Context context) : base(context) { }
        private static Android.Support.V7.Widget.Toolbar GetToolbar() => (CrossCurrentActivity.Current?.Activity as MainActivity)?.FindViewById<Android.Support.V7.Widget.Toolbar>(Resource.Id.toolbar);

        protected override void OnLayout(bool changed, int l, int t, int r, int b)
        {
            base.OnLayout(changed, l, t, r, b);
            var actionBar = GetToolbar();
            actionBar.LayoutDirection = Helpers.Settings.Lang == "ar" ? LayoutDirection.Rtl : LayoutDirection.Ltr;
        }

    }
}

使用第二种方法(在 NavigationPage 中设置主从页面)