Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Android 4 hat ein neues Systembenutzeroberflächenfeature namens Navigationsleiste eingeführt, das Navigationssteuerelemente auf Geräten bereitstellt, die keine Hardwareschaltflächen für "Start", "Zurück" und "Menü" enthalten. Der folgende Screenshot zeigt die Navigationsleiste von einem Nexus Prime-Gerät:
Es stehen mehrere neue Flags zur Verfügung, die die Sichtbarkeit der Navigationsleiste und der zugehörigen Steuerelemente sowie die Sichtbarkeit der In Android 3 eingeführten Systemleiste steuern. Die Flags werden in der Android.View.View Klasse definiert und nachfolgend aufgeführt:
SystemUiFlagVisible– Macht die Navigationsleiste sichtbar.SystemUiFlagLowProfile– Ausgeblendete Steuerelemente in der Navigationsleiste.SystemUiFlagHideNavigation– Blendet die Navigationsleiste aus.
Diese Flags können auf jede Ansicht in der Ansichtshierarchie angewendet werden, indem Sie die SystemUiVisibility Eigenschaft festlegen. Wenn mehrere Ansichten diesen Eigenschaftensatz aufweisen, kombiniert das System sie mit einem OR-Vorgang und wendet sie an, solange das Fenster, in dem die Flags festgelegt sind, den Fokus behält. Wenn Sie eine Ansicht entfernen, werden alle kennzeichen, die sie festgelegt hat, ebenfalls entfernt.
Das folgende Beispiel zeigt eine einfache Anwendung, bei der durch Klicken auf eine der Schaltflächen die SystemUiVisibilitySchaltflächen geändert werden:
Der Code zum Ändern der SystemUiVisibility Eigenschaft auf einem TextView Klickereignishandler der einzelnen Schaltflächen wie unten dargestellt:
var tv = FindViewById<TextView> (Resource.Id.systemUiFlagTextView);
var lowProfileButton = FindViewById<Button>(Resource.Id.lowProfileButton);
var hideNavButton = FindViewById<Button> (Resource.Id.hideNavigation);
var visibleButton = FindViewById<Button> (Resource.Id.visibleButton);
lowProfileButton.Click += delegate {
tv.SystemUiVisibility =
(StatusBarVisibility)View.SystemUiFlagLowProfile;
};
hideNavButton.Click += delegate {
tv.SystemUiVisibility =
(StatusBarVisibility)View.SystemUiFlagHideNavigation;
};
visibleButton.Click += delegate {
tv.SystemUiVisibility = (StatusBarVisibility)View.SystemUiFlagVisible;
}
Außerdem löst eine SystemUiVisibility Änderung ein SystemUiVisibilityChange Ereignis aus. Genau wie beim Festlegen der SystemUiVisibility Eigenschaft kann ein Handler für das SystemUiVisibilityChange Ereignis für jede Ansicht in der Hierarchie registriert werden. Der folgende Code verwendet z. B. die TextView Instanz, um sich für das Ereignis zu registrieren:
tv.SystemUiVisibilityChange +=
delegate(object sender, View.SystemUiVisibilityChangeEventArgs e) {
tv.Text = String.Format ("Visibility = {0}", e.Visibility);
};

