Xamarin Forms中的自定义MasterDetail页面

时间:2015-10-15 08:34:17

标签: xamarin.ios xamarin.android xamarin.forms

我想设计一个弹出菜单,它应该在所有平台上都具有相同的外观和感觉,即android,ios和windows。它应该从右上角出来。为此,我使用了Xamarin表单masterDetail页面,但它在所有平台上的呈现方式不同,我无法进行自定义。任何人都可以指导我应该遵循哪种方法,Xamarin表单与自定义或xamarin本机与用户控制所有平台。如果可以定制怎么做?

目前我正在使用xamarin表单来获取弹出菜单,它可以在所有平台上运行。

public class DashBoardView : MasterDetailPage
{
    public DashBoardView()
    {
        Master = new ProfilePage();
        Detail=  new NavigationPage(new DetailPage())
        {
            BarBackgroundColor = Color.FromHex("#56c7f6"),
            BarTextColor = Color.White
        };              
    }      
}

3 个答案:

答案 0 :(得分:0)

您可能需要为每个平台编写自定义渲染器,我认为您无法通过自定义库存MasterDetail页面获得所需的行为。

答案 1 :(得分:0)

如果你想在xamarin表单中使用rtl MasterPage,有两种方法可以做到:

首先==>

  • 您将在继承自MasterDetailPage的共享项目中创建课程

  • 你将进入每个平台项目并编写一个类,它在共享项目中渲染你创建它的类,并为每个创建的平台编写一些代码

注意这些:https://www.codeproject.com/Articles/1100122/Xamarin-Master-Detail-Page

https://developer.xamarin.com/guides/xamarin-forms/application-fundamentals/custom-renderer/

秒==> - 您可以在共享项目中使用一个类,但不能使用MasterDetailPage

  • 你将通过动画
  • 来完成

答案 2 :(得分:0)

您可以尝试使用Slide Over Kit插件。

免费。详情如下:

https://michaelridland.com/xamarin/announcing-slideoverkit-for-xamarin-forms/

看起来像这样:

enter image description here