Wie bekomme / finde ich die Bildschirmgröße in Xamarin.Forms?
Ich versuche zu umschreiben, eine app, die ich schrieb für iOS. Ich wollte schreiben Sie eine android-version, aber dachte, Es wäre besser, um diesem die Gelegenheit zu nutzen Xamarin.Formen. Tut es eine Seite zu einem Zeitpunkt, jetzt bin ich stecken auf einer Seite, wo ich brauche, um die Bildschirm Breite und Höhe. Kennt jemand das äquivalent von iOS Anzeigen.Frame.Breite in Xamarin.Formen?
InformationsquelleAutor der Frage dmc | 2014-06-28
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es ist derzeit nicht Weg von Xamarin.Formen selbst, sondern wir haben es umgesetzt, wie PCL-kompatible Schnittstelle in Xamarin.Formen.Labs können Sie von NuGet-oder source-code von GitHub.
https://github.com/XForms/Xamarin-Forms-Labs
IDevice hat IDisplay-Eigenschaft, mit der Informationen; Höhe, Breite, pixel-Dichte für X & Y und paar Erweiterung Methoden zum berechnen der Größe in Zoll.
Beispiel-Seite für das abrufen von Informationen aus dem Gerät:
https://github.com/XForms/Xamarin-Forms-Labs/blob/master/samples/Xamarin.Forms.Labs.Sample/Pages/Services/ExtendedDeviceInfoPage.cs
Erstellen einer exakten Zoll-by-Zoll-Rahmen auf allen Plattformen, unabhängig von display-Eigenschaften:
https://github.com/XForms/Xamarin-Forms-Labs/blob/master/samples/Xamarin.Forms.Labs.Sample/Pages/Services/AbsoluteLayoutWithDisplayInfoPage.cs
Man die Gerät-info entweder du DI resolver oder verwenden Sie einen statischen container. Alle 3 Plattformen haben eine singleton-Gerät Anrufe mit statischen CurrentDevice Eigenschaft:
InformationsquelleAutor der Antwort SKall
Gibt es einen einfachen Weg, um die Bildschirm Breite und Höhe in
Xamarin.Forms
aus und greifen Sie weltweit von überall in der app. Ich würde so etwas tun:1. Erstellen Sie zwei öffentliche Mitglieder in Ihrer App.cs:
2. Stellen Sie die Werte in Ihrem
MainActivity.cs
(Android) oder IhrAppDelegate.cs
(iOS):Android:
iOS:
InformationsquelleAutor der Antwort kaolick
Wenn Sie mit xamarin forms, dann finden Sie die Höhe und Breite des aktuellen Bildschirms in portable class library(pcl) wie unten.
Für die Breite, die Sie verwenden, pcl,
In der Höhe, die Sie tun können das in der pcl,
InformationsquelleAutor der Antwort Tushar patel
Rezept
Erstellen Sie eine neue Xamarin.Android-Anwendung namens zum Einsatz.
Edit Main.axml, so dass es enthält zwei TextViews:
Bearbeiten Activity1.cs, ändern Sie den code in der OnCreate folgenden:
![enter Bild Beschreibung hier][1]
private int ConvertPixelsToDp(float pixelValue)
{
var dp = (int) ((pixelValue)/Ressourcen.DisplayMetrics.Dichte);
return dp;
}
Führen Sie die Anwendung. Je nach Gerät, zeigt es den Bildschirm in Höhe und Breite. Der folgende Screenshot ist von einem Galaxy Nexus:
[Bild-link] http://i.stack.imgur.com/TQhba.png
InformationsquelleAutor der Antwort TheEmperorDeveloper
In Ihrem App-Datei definieren Sie eine öffentliche statische variable
Sollten Sie initialisieren die variable sowohl in IOS und Android, bevor Sie die App constructer. Für IOS, in FinishedLaunching Methode
und Für Android, in der OnCreate-Funktion
InformationsquelleAutor der Antwort sof98789
Aktualisierung für zukünftige Entwickler, die versuchen, das zu tun, entweder nicht sah oder es verpasst. Die Page-Klasse erbt von VisualElement, die hat nun zwei Eigenschaften (das geschehen zu sein gebunden für die Verwendung in XAML):
in Ihre Seite ein codebehind Sie würden nur etwas tun, wie:
wenn Sie benötigt, um zu wissen, ob es änderungen, verwenden Sie das SizeChanged-Ereignis:
ref: Microsoft Docs
InformationsquelleAutor der Antwort Duane