2017-03-09 3 views
2

Weiß jemand, wie eine Navigationsleiste ähnlich der in der Sonos-App implementiert werden kann? Ich habe sowohl Android- als auch iOS-Versionen der App überprüft und festgestellt, dass die Navigationsleiste für beide Plattformen auf die gleiche Weise implementiert wurde.XAML Xamarin Forms Navigationsschublade Beispielcode für iOS/Android

Die beiden wichtigsten Dinge, die Ich mag und implementieren möchten, sind:

die aufschiebbare Schublade unterhalb der Navigationsleiste. Wenn es herausgleitet, ist die Navigationsleiste immer noch sichtbar Es scheint, als wäre es die Schublade, die herausgleitet, anstatt die Detailansicht nach rechts zu bewegen. Mir ist aufgefallen, dass die Standard-Master-Detailseite auf eine andere Art und Weise verschoben wird, und das ist nicht das, was wir wollen. Schauen Sie sich die Bilder unten an, also sehen Sie, ich meine.

dank

Image 1

Image 2

Antwort

0

Obwohl technisch nicht eine gute Praxis, wenn Sie einen MasterDetailPage in eine NavigationPage setzen, wird es wie in den obigen Bildern herausrutschen. Hier ist, wie Sie das tun:

Im App.cs Konstruktor oder der App OnStart() Methode:

MainPage = new NavigationPage(new MyMasterDetailPage()) { 
    Title = "Your Title" 
}; 

ein neues MasterDetailPageMyMasterDetailPage genannt erstellen. im Konstruktor den folgenden Code:

Detail = new HomePage(); 
Master = new MenuPage() 
{ 
    Title = "Menu" 
}; 

Sie benötigen dann eine ContentPage sowohl für HomePage und MenuPage zu erstellen.

Ein Problem, das Sie bei der Verwendung dieser Methode haben, ist, dass, wenn Sie MyMasterDetailPage nicht als erste Seite beim Öffnen der App aufrufen, die drei horizontalen Balken auf der NavigationBar nicht erscheinen, was machen wird Es ist schwer für Benutzer zu sagen, dass es eine Schublade gibt. Wenn Sie also Benutzer benötigen, die zu einer Anmeldeseite oder einer anderen Seite vor Ihrer MasterDetailPage gehen, möchten Sie vielleicht eine andere Implementierung finden.