Xamarin.Formularen - Ändern Der StatusBar-Farbe
Ich Suche, aber ich kann nicht finden, wenn es möglich ist, zu ändern der StatusBar-Farbe für jede Plattform, von meinem portablen code? (für Android, iOS & WinPhone 8.1
)
public App()
{
//Change the StatusBar color
MainPage = new MainPageUser();
}
- Sie haben die Verwendung von Plattform-spezifischen code für dieses. See eine aktuelle Antwort, die ich schrieb mit Bezug darauf, wie die änderung der Farbe auf WP8.1.
- Danke, ich werde schauen 🙂
- Möchten Sie ändern die ActionBar Farbe?
- Ich will zu ändern, die Leiste wo die Uhrzeit und die batterie Lebens gestellt werden
- Android:
Window.SetStatusBarColor(Android.Graphics.Color.ParseColor("#FFFFFF")); //or any other hex value
in der MainActivity. Auf iOS-statusbar-Farbe hängt von der Farbe der Navigationbar soMainPage = new NavigationPage(new MyPage()) { BarBackgroundColor = Color.FromHex("000000"), BarTextColor = Color.White };
machen würde, einen schwarzen navbar und satusbar mit weißen text in der Navigationsleiste. Ändern Sie die Textfarbe in der Statusleiste, die Sie haben zu setzen<key>UIStatusBarStyle</key> <string>UIStatusBarStyleBlackTranslucent</string>
im info.plist UIStatusBarStyleBlackTranslucent
bedeutet weißer text- Danke 🙂 Was ist mit WinPhone8.1?
var statusBar = Windows.UI.ViewManagement.StatusBar.GetForCurrentView();
wo dieStatusBar
-KlasseBackgroundColor
,BackgroundOpacity
,ForegroundColor
EigenschaftenstatusBar.BackgroundOpacity = 1;
ist wichtig, sonst wird es nicht funktionieren
InformationsquelleAutor Emixam23 | 2016-06-23
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Das ist ganz einfach wirklich.
Die schnelle Antwort
Fügen Sie einfach diese Zeile
Oder wenn Sie Erben von NavigationPage, die Sie tun können, es mit
Ausführliche Antwort
Sie haben zwei Optionen. Können Sie betrachten.
Option 1
Option 2
Aber wie Sie wahrscheinlich feststellen, ist, dass sich die Statusleiste in iOS auf der Oberseite ist auch schwarz und, dass Sie müssen änderungen in der Info.plist-Datei auf Ihrem ios-Projekt, und öffnen Sie es (mit der rechten Maustaste und wählen Sie "öffnen mit"), mit einem xml-editor und fügen Sie diese Zeilen von code
Ich glaube, Sie wäre besser zu schreiben, ein bisschen Plattform-spezifische code:
Für Android:
Auf deine MainActivity.cs auf dem Droid Projekt mit der rechten nach
der übersteuerten OnCreate-Methode hinzufügen:
Etwa so:
SetStatusBarColor
wird nur unterstützt, in API-level 21 und bis. Daher sollten wir prüfen, ob diese vor dem Aufruf SetStatusBarColor.if (Android.OS.Build.VERSION.SdkInt >= BuildVersionCodes.Lollipop){Window.SetStatusBarColor(...);}
Weitere option für Android: die Farbe ändern in der Datei
\Resources\values\styles.xml
(Android-Projekt).Vielleicht bin ich nicht die Frage zu verstehen, aber ich hoffe, das hilft.
Nachdem die Suche um einiges versuchen, um herauszufinden, wie zu ändern, die iPhoneX status bar Farbe (die etwas hinter der Kerbe), fand ich heraus, dass es automatisch setzt sich auf der Grundlage der
BackroundColor
Eigenschaft des root -ContentPage
.So, in der Xaml-es ist so einfach wie diese:
Ich bin im Grunde mit dem hier beschriebenen Ansatz in einer der Antworten hier: https://stackoverflow.com/a/46199029/960691, aber ändern es ein wenig, indem Sie einen code-Schnipsel, die ich habe konzentriert für Ihre individuelle Frage (zumindest glaube ich!)
Mit diesem Ansatz können Sie ändern Sie es auf jeder Seite.