Erstellen von Navigations-Menüs in Xamarin forms-Anwendung
Mache ich eine android-app jetzt mit Hilfe von xamarin forms [xaml] über plattformübergreifende portable-Projektvorlage in Visual studio
Während der Gestaltung Startseite meiner Anwendung möchte ich ein design wie bei einem normalen android-app
https://developer.android.com/training/appbar/index.html
Aber ich bin mit einem Navigations-und code-Verwendung in der home-Seite ist wie
public Homepage()
{
InitializeComponent();
#region toolbar
ToolbarItem tbi = null;
if (Device.OS == TargetPlatform.Android)
{
tbi = new ToolbarItem("+", "plus", async () =>
{
var target_page = new AddStudent();
await Navigation.PushModalAsync(target_page);
}, 0, 0);
}
ToolbarItems.Add(tbi);
#endregion
this.Title = "Home Page";
}
Sein gibt eine Navigationsleiste mit Titel-und ein + - Symbol auf der rechten Seite die mir hilft zu zeigen, eine andere Seite
Aber wie kann ich das design einer Seite wie im link gepostet mit einige Menü-Elemente und Ereignisse auf der linken Seite und einige Menü Aktionen auf der rechten Seite mit Hilfe dieser Navigationsleiste .
Irgendwelche Beispiele oder nützliche links?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Haben Sie schon von AppCompat? Sehen diese für den Anfang.
So wie ich Sie verstehe, möchten Sie die Anwendung zu sehen, die auf iOS und Android, wie es erstellt wurde, mithilfe von Android Material Design.
Werden Sie brauchen eindeutig zu implementieren custom renderer für die Navigationsleiste. Das bedeutet, dass Sie haben zu schreiben, die benutzerdefinierte Implementierung der Navigationsleiste für jede Plattform, die Sie verwenden möchten. Auch, müssen Sie Bearbeiten Sie Teil von Ihrem PCL.
Zum Beispiel, können Sie diesen code verwenden, um loszuwerden, Xamarin Standard-Symbol auf der Navigationsleiste (fügen Sie diese zu Ihrem Droid Projekt):
Für jede UI-Objekt in der PCL-es ist eine Analogie, die in jeder Plattform. Übersetzung XF Objekte zu einheimischen ist eine Verantwortung, die von Renderern. Wenn das Objekt erstellt wird,
OnElementChanged
genannt wird. Von dort aus können Sie Zugriff auf native API und änderungen vornehmen, um das element, sind nicht von der PCL. Wie der AufrufSetIcon
(beachten Sie, dass dieser code könnte sein Android-spezifisch. In den meisten Fällen werden Sie wahrscheinlich benötigen, um zu kopieren und zu modifizieren renderer, um für Sie zu arbeiten, die auf anderen Plattformen).Damit fügen Sie Schaltflächen auf der rechten Seite der Aktionsleiste, würde ich die folgenden xaml-Code:
Als einfach wieder mit dem code hinter, wie beim Umgang mit einem einfachen button klicken:
Können Sie mehrere von denen.
Auch, wenn Sie möchten, fügen Sie Kontext-Menü auf der Symbolleiste und wollen es sich zu Verhalten wie ein natives android, Sie sollten wahrscheinlich Lesen Sie ein wenig über animation und zeichnen/animieren, es selbst, dann Stimmen Sie mit, sagen wir, AbsoluteLayout.
Für benutzerdefinierte Navigationsmenüs, ich möchte nur zum ausblenden der Navigationsleiste und stellen Sie meine eigenen. Sie verlieren einige connivence und dann die Dimensionierung ist auf Sie, aber es gibt eine Tonne mehr Flexibilität.
Können Sie dann legen Sie einfach einen farbigen
BoxView
innerhalb einerGrid
und fügen Sie Schaltflächen, um dieGrid
, indem Sie auf der Oberseite desBoxView
.Ausblenden der Navigationsleiste und der folgende auf Ihre
ContentPage
's Konstruktor:*Edit: Das wäre ziemlich einfach zu tun. Wie ich schon sagte, Sie würde einen
Grid
fügen Sie eine grüneBoxView
, und fügen Sie dann ein Symbol auf der linken Seite und 3 auf der rechten Seite.Etwas wie dieses: