xamarin.forms 中的 Gmail 导航抽屉(母版页)
Gmail like navigation drawer (master page) in xamarin.forms
我目前在 xamarin.forms 中使用 MVVMlight 中的主从页面,它根据 os 的默认行为进行渲染,它完美地呈现了我想要的,但在 android master 中页面在导航栏下方开始。我希望母版页覆盖整个屏幕高度,就像 ios 这样做有没有任何方法或解决方案没有自定义渲染器,或者是否有必要为此编写自定义渲染器
是的,你可以。检查这些链接。他们都使用 MasterDetail 页面来创建 Navigation Drawer。只有详细信息页面成为主页面视图,母版页面成为滑动菜单。这实际上相当简单。还有其他几个很好的例子。但是我认为您可以通过我列出的 3 个链接完成工作。如果不尝试搜索,例如如何在 Xamarin Forms 中创建导航抽屉。
http://www.meritsolutions.com/mobile-development/implementing-navigation-drawer-in-xamarinforms/
https://www.syntaxismyui.com/xamarin-forms-masterdetail-page-navigation-recipe/
使用 FormsAppCompatActivity 而不是 FormsApplicationActivity。
定义你自己的toolbar.axml
toolbar.axml
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:minHeight="?attr/actionBarSize"
android:contentInsetStart="0dp"
android:contentInsetLeft="0dp"
app:contentInsetLeft="0dp"
app:contentInsetStart="0dp"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
app:layout_scrollFlags="scroll|enterAlways">
</android.support.v7.widget.Toolbar>
设置自己的ToolbarResource
public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity
{
protected override void OnCreate(Bundle bundle)
{
ToolbarResource = Resource.Layout.toolbar;
base.OnCreate(bundle);
global::Xamarin.Forms.Forms.Init(this, bundle);
LoadApplication(new App());
}
}
我目前在 xamarin.forms 中使用 MVVMlight 中的主从页面,它根据 os 的默认行为进行渲染,它完美地呈现了我想要的,但在 android master 中页面在导航栏下方开始。我希望母版页覆盖整个屏幕高度,就像 ios 这样做有没有任何方法或解决方案没有自定义渲染器,或者是否有必要为此编写自定义渲染器
是的,你可以。检查这些链接。他们都使用 MasterDetail 页面来创建 Navigation Drawer。只有详细信息页面成为主页面视图,母版页面成为滑动菜单。这实际上相当简单。还有其他几个很好的例子。但是我认为您可以通过我列出的 3 个链接完成工作。如果不尝试搜索,例如如何在 Xamarin Forms 中创建导航抽屉。
http://www.meritsolutions.com/mobile-development/implementing-navigation-drawer-in-xamarinforms/
https://www.syntaxismyui.com/xamarin-forms-masterdetail-page-navigation-recipe/
使用 FormsAppCompatActivity 而不是 FormsApplicationActivity。
定义你自己的toolbar.axml
toolbar.axml
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:minHeight="?attr/actionBarSize"
android:contentInsetStart="0dp"
android:contentInsetLeft="0dp"
app:contentInsetLeft="0dp"
app:contentInsetStart="0dp"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
app:layout_scrollFlags="scroll|enterAlways">
</android.support.v7.widget.Toolbar>
设置自己的ToolbarResource
public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity
{
protected override void OnCreate(Bundle bundle)
{
ToolbarResource = Resource.Layout.toolbar;
base.OnCreate(bundle);
global::Xamarin.Forms.Forms.Init(this, bundle);
LoadApplication(new App());
}
}