【问题标题】:Why are the titles in a master detail page not shown on android (Xamarin.Forms)为什么主详细信息页面中的标题未在 android (Xamarin.Forms) 上显示
【发布时间】:2017-05-18 11:29:22
【问题描述】:

我有一个这样的MasterDetailPage

<?xml version="1.0" encoding="utf-8" ?>
<MasterDetailPage xmlns="http://xamarin.com/schemas/2014/forms"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             x:Class="MY_App.screens.MainScreen">
  <MasterDetailPage.Master>
    <ContentPage Title="Master Title">
      <ContentPage.Content>
        <StackLayout VerticalOptions="Center" HorizontalOptions="FillAndExpand">
          <Button Text="Label Button"/>
        </StackLayout>
      </ContentPage.Content>
    </ContentPage>
  </MasterDetailPage.Master>
  <MasterDetailPage.Detail>
    <ContentPage Title="Detail Title">
      <ContentPage.Padding>
        <OnPlatform x:TypeArguments="Thickness"
                    iOS="20, 40, 20, 20"
                    Android="20, 20, 20, 20"
                    WinPhone="20, 20, 20, 20" />
      </ContentPage.Padding>
      <ContentPage.Content>
        <StackLayout VerticalOptions="Center" HorizontalOptions="FillAndExpand">
          <Label  Text="Heading"/>
          <Button Text="Master Button"/>
        </StackLayout>
      </ContentPage.Content>
    </ContentPage>
  </MasterDetailPage.Detail>
</MasterDetailPage>

在 android 上它看起来像这样:

为什么没有标题显示?

更新根据 yuri-s 的回答,我得到了这个:

现在我想知道,这是一个错误还是我做错了什么?

【问题讨论】:

    标签: xamarin.forms


    【解决方案1】:

    我认为您不能更改主标题(它使用活动标题),尽管您必须定义它。但是这里是如何设置详细信息标题。

     <MasterDetailPage.Detail>
        <NavigationPage>
          <x:Arguments>
        <ContentPage Title="Detail Title">
          <ContentPage.Padding>
            <OnPlatform x:TypeArguments="Thickness"
                        iOS="20, 40, 20, 20"
                        Android="20, 20, 20, 20"
                        WinPhone="20, 20, 20, 20" />
          </ContentPage.Padding>
          <ContentPage.Content>
            <StackLayout VerticalOptions="Center" HorizontalOptions="FillAndExpand">
              <Label  Text="Heading"/>
              <Button Text="Master Button"/>
            </StackLayout>
          </ContentPage.Content>
        </ContentPage>
    
          </x:Arguments>
        </NavigationPage>
      </MasterDetailPage.Detail>
    

    【讨论】:

    • 您好,谢谢您的回答。它在这里仍然不起作用,我更新了我的问题。
    • 您将 MasterPage 推送到导航页面还是其他 MasterPage 中?
    • 哦...我愿意。好的,所以我没有提供所有细节,对不起。现在它起作用了。谢谢!
    【解决方案2】:

    检查 App.cs 类,您正在正确地实例化 MainPage

    public App()
    {
        InitializeComponent();
        MainPage = new Views.MasterDetailView();
    }
    

    【讨论】:

      猜你喜欢
      • 2018-06-02
      • 2020-11-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-26
      • 2014-11-08
      • 2018-02-12
      相关资源
      最近更新 更多