Remarque
L’accès à cette page requiert une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page requiert une autorisation. Vous pouvez essayer de modifier des répertoires.
Xamarin.Essentials fournit plusieurs méthodes d’extension de plateforme lorsque vous devez utiliser des types de plateforme tels que Rect, Size et Point. Cela signifie que vous pouvez convertir la version System de ces types en types spécifiques iOS, Android et UWP.
Démarrage
Pour commencer à utiliser cette API, lisez le guide de prise en main pour Xamarin.Essentials vous assurer que la bibliothèque est correctement installée et configurée dans vos projets.
Utilisation d’extensions de plateforme
Ajoutez une référence à Xamarin.Essentials votre classe :
using Xamarin.Essentials;
Toutes les extensions de plateforme peuvent uniquement être appelées depuis le projet iOS, Android ou UWP.
Extensions Android
Ces extensions sont accessibles uniquement à partir d’un projet Android.
Contexte et activité de l’application
À l’aide des extensions de plateforme de la classe Platform, vous pouvez accéder à Context ou à Activity actif pour l’application en cours d’exécution.
var context = Platform.AppContext;
// Current Activity or null if not initialized or not started.
var activity = Platform.CurrentActivity;
Si Activity est nécessaire, mais que l’application n’a pas été entièrement démarrée, la méthode WaitForActivityAsync doit être utilisée.
var activity = await Platform.WaitForActivityAsync();
Cycle de vie des activités
Outre l’obtention de l’activité en cours, vous pouvez également vous inscrire aux événements de cycle de vie.
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
Xamarin.Essentials.Platform.Init(this, bundle);
Xamarin.Essentials.Platform.ActivityStateChanged += Platform_ActivityStateChanged;
}
protected override void OnDestroy()
{
base.OnDestroy();
Xamarin.Essentials.Platform.ActivityStateChanged -= Platform_ActivityStateChanged;
}
void Platform_ActivityStateChanged(object sender, Xamarin.Essentials.ActivityStateChangedEventArgs e) =>
Toast.MakeText(this, e.State.ToString(), ToastLength.Short).Show();
Les états d’activité sont les suivants :
- Créé
- Repris
- Suspendu
- Détruit
- SaveInstanceState
- Démarré
- Arrêté
Pour en savoir plus, consultez la documentation relative au cycle de vie de l’activité.
Extensions iOS
Ces extensions sont accessibles uniquement à partir d’un projet iOS.
Current UIViewController
Accédez au UIViewController actuellement visible :
var vc = Platform.GetCurrentUIViewController();
Cette méthode retourne null s’il n’est pas possible de détecter un UIViewController.
Extensions multiplateforme
Ces extensions existent sur toutes les plateformes.
Point
var system = new System.Drawing.Point(x, y);
// Convert to CoreGraphics.CGPoint, Android.Graphics.Point, and Windows.Foundation.Point
var platform = system.ToPlatformPoint();
// Back to System.Drawing.Point
var system2 = platform.ToSystemPoint();
Taille
var system = new System.Drawing.Size(width, height);
// Convert to CoreGraphics.CGSize, Android.Util.Size, and Windows.Foundation.Size
var platform = system.ToPlatformSize();
// Back to System.Drawing.Size
var system2 = platform.ToSystemSize();
Rectangle
var system = new System.Drawing.Rectangle(x, y, width, height);
// Convert to CoreGraphics.CGRect, Android.Graphics.Rect, and Windows.Foundation.Rect
var platform = system.ToPlatformRectangle();
// Back to System.Drawing.Rectangle
var system2 = platform.ToSystemRectangle();