如何显示要在导航栏下方显示的母版页菜单内容?

时间:2017-01-25 07:58:12

标签: xamarin.forms navigation-drawer master-detail

我在使用xamarin表单的导航页面设计主详细信息页面时遇到了一个小问题。

获取设备全高的母版页的内容。我希望从导航栏的底部显示内容。

以下是母版页的示例:

<?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="XamarinExp.Pages.SampleMasterPage">
  <MasterDetailPage.Master>
    <ContentPage Title="Menu">
      <StackLayout Spacing="0">
        <Label Text="Sample Menu" FontSize="Large" FontAttributes="Bold"></Label>
        <ListView x:Name="lvMenu" SeparatorColor="Green">
          <ListView.ItemTemplate>
            <DataTemplate>
              <ViewCell>
                <StackLayout Padding="10,0,0,0">
                  <Label HorizontalOptions="FillAndExpand" VerticalOptions="FillAndExpand" YAlign="Center" Text="{Binding Title}" TextColor="#03a9f4" >
                    <Label.GestureRecognizers>
                      <TapGestureRecognizer Tapped="OnLabelClicked" />
                    </Label.GestureRecognizers>
                  </Label>
                </StackLayout>
              </ViewCell>
            </DataTemplate>
          </ListView.ItemTemplate>
        </ListView>
      </StackLayout>
    </ContentPage>
  </MasterDetailPage.Master>
</MasterDetailPage>

这个来自cs文件的代码片段:

NavigationPage nPage = new NavigationPage(new DeviceCheck());
this.Detail = nPage;

这就是我在Droid / Resources / values / styles.xml

中的内容
<?xml version="1.0" encoding="utf-8" ?>
<resources>

  <style name="MainTheme" parent="MainTheme.Base">
  </style>
  <!-- Base theme applied no matter what API -->
  <style name="MainTheme.Base" parent="Theme.AppCompat.Light.DarkActionBar">
    <!--If you are using revision 22.1 please use just windowNoTitle. Without android:-->
    <item name="windowNoTitle">true</item>
    <!--We will be using the toolbar so no need to show ActionBar-->
    <item name="windowActionBar">false</item>
    <!-- Set theme colors from http://www.google.com/design/spec/style/color.html#color-color-palette -->
    <!-- colorPrimary is used for the default action bar background -->
    <item name="colorPrimary">#2196F3</item>
    <!-- colorPrimaryDark is used for the status bar -->
    <item name="colorPrimaryDark">#1976D2</item>
    <!-- colorAccent is used as the default value for colorControlActivated
         which is used to tint widgets -->
    <item name="colorAccent">#FF4081</item>
    <!-- You can also set colorControlNormal, colorControlActivated
         colorControlHighlight and colorSwitchThumbNormal. -->
    <item name="windowActionModeOverlay">true</item>

    <item name="android:datePickerDialogTheme">@style/AppCompatDialogStyle</item>

    <item name="android:windowDrawsSystemBarBackgrounds">true</item>
    <item name="android:statusBarColor">@android:color/transparent</item>
  </style>

  <style name="AppCompatDialogStyle" parent="Theme.AppCompat.Light.Dialog">
    <item name="colorAccent">#FF4081</item>
  </style>
</resources>

我希望菜单从蓝色栏下面开始。

任何帮助表示赞赏。提前谢谢。

1 个答案:

答案 0 :(得分:1)

在App.cs中设置MainPage类型为NavigationPage

 MainPage = new NavigationPage(new SampleMasterPage());