Utilisation des vues FireMonkey
Remonter à Conception d'applications FireMonkey
Sommaire
Les vues sont un mécanisme qui vous permet de définir une disposition différente et des composants pour les fiches de votre application en fonction du périphérique sur lequel votre application est exécutée.
Les nouvelles fiches contiennent initialement une vue unique : la vue maître, nommée par défaut unit1.fmx
.
- La vue maître est la vue que votre application charge si elle ne contient pas d'autre vue correspondant au périphérique sur lequel elle est exécutée.
- Vous pouvez ajouter des vues supplémentaires à votre application si vous voulez fournir des vues différentes sur des périphériques différents.
- Nous vous recommandons de créer des vues pour les types de périphérique représentatifs courants, par exemple une vue pour téléphone et une vue pour tablette, et non pas une liste exhaustive de vues dans le sélecteur de vue.
- Les vues que vous ajoutez sont des versions personnalisées de la vue maître d'un périphérique donné ou d'un type de périphérique qui hérite de tous les composants et modifications de la vue maître.
- Vous pouvez utiliser le sélecteur de vue du Concepteur de fiches pour ajouter ou retirer des vues à votre fiche ; vous pouvez également créer vos propres vues personnalisées :
Héritage des vues
Toutes les vues supplémentaires que vous ajoutez à votre projet héritent des composants et des propriétés de la vue maître.
Quand vous ajoutez ou retirez des composants à partir de la vue maître, le Concepteur de fiches répercute cette modification dans toutes les vues existantes. Vous pouvez uniquement ajouter ou retirer des composants à partir de la vue maître ; vous ne pouvez pas ajouter ou retirer des composants à partir d'une autre vue. Si vous souhaitez qu'un composant apparaisse uniquement sur certaines vues, masquez ce composant sur toutes les autres vues.
Quand vous modifiez les propriétés de votre fiche ou de l'un de ses composants sur la vue maître, le Concepteur de fiches répercute aussi ces changements à toutes les vues existantes, sauf si cette vue a déjà spécifié une valeur différente pour cette propriété. Vous pouvez personnaliser les valeurs des propriétés sur une vue particulière pour remplacer la valeur de la vue maître uniquement sur la vue candidate.
Restauration des valeurs des propriétés d'un composant à partir de la vue maître
Pour restaurer les valeurs des propriétés à partir de la vue maître sur un composant d'une autre vue :
- Sélectionnez la vue candidate dans le sélecteur de vue.
- Sur le Concepteur de fiches, cliquez avec le bouton droit sur le composant cible.
- Sélectionnez Revenir aux valeurs héritées dans le menu contextuel.
Toutes les propriétés du composant sélectionné reprennent la valeur qu'elles ont dans la vue maître.
Masquage d'un composant
Vous ne pouvez pas retirer un composant d'une vue, mais vous pouvez le masquer.
Pour masquer un composant sur une vue particulière :
- Sélectionnez le composant.
- Dans l'inspecteur d'objets, définissez la propriété Visible sur
False
.
Pour masquer un composant pour une plate-forme cible spécifique, utilisez du code conditionnel dans l'éditeur de code :
Delphi :
{$IFDEF ANDROID}
SpeedButton1.Visible := False;
{$ENDIF}
#if defined(__ANDROID__) && defined(__arm__)
SpeedButton1->Visible = false;
#endif
Vous pouvez exécuter ce code à partir d'un gestionnaire d'événement associé à l'événement OnCreate de votre fiche, par exemple. Comme vous modifiez la visibilité du composant à l'exécution, le composant est toujours visible sur le Concepteur de fiches.
Algorithme de chargement des vues
Quand vous exécutez votre application sur un périphérique, FireMonkey évalue les vues définies dans votre application et les répertorie par priorité. La liste inclut uniquement les vues sur lesquelles la plate-forme est la même que celle sur laquelle votre application s'exécute, et la priorité de chaque vue de la liste est déterminée en fonction des critères suivants, de la priorité la plus haute (1) à la priorité la plus basse :
Priorité | Exigences |
---|---|
1 |
|
2 |
|
3 |
|
FireMonkey charge la première vue de la liste. Si aucune des vues ne correspond aux exigences, FireMonkey charge la vue maître à la place.
Vous pouvez trouver tous les détails concernant les vues intégrées de RAD Studio dans les implémentations spécifiques à la plate-forme de l'unité System.Devices : System.Android.Devices.pas
, System.Win.Devices.pas
, et ainsi de suite.
Plages de tailles des périphériques pour chaque vue Android
Les plages de tailles permettent de déterminer quelle vue utiliser dans une app Android. Le tableau suivant affiche les plages de taille minimale et maximale pour chaque vue indiquée dans des coordonnées paysage. Notez que l'exécutable n'a pas besoin d'une correspondance exacte pour sélectionner une vue. L'exécutable sélectionne celle qui correspond le mieux.
Nom de la vue | Taille minimale (en pixels) |
Taille maximale (en pixels) |
PPI |
---|---|---|---|
Téléphone Android 3,5 pouces |
800 x 500 |
1000 x 600 |
320 |
Téléphone Android 4 pouces |
1168 x 730 |
1360 x 850 |
320 |
Téléphone Android 5 pouces |
1440 x 900 |
1708 x 960 |
320 |
Tablette Android 7 pouces |
1708 x 960 |
1920 x 1200 |
320 |
Tablette Android 10 pouces |
2400 x 1500 |
2560 x 1600 |
320 |
Les noms des fiches sont différents à l'exécution
A l'exécution, la propriété Name des fiches de votre application peut ne pas correspondre aux noms que vous avez définis à la conception. Si FireMonkey charge une autre vue que la vue maître, les noms des fiches sont ceux que vous avez donnés aux fiches dans la vue maître, plus le nom de code de la vue chargée, séparés d'un caractère de soulignement (_
). Par exemple, si le nom de votre fiche est "MaFiche" et si FireMonkey charge la vue "Bureau Windows" à l'exécution, le nom de votre fiche à l'exécution est "MaFiche_Windows".
Vous ne pouvez pas créer des vues avec des composants sans nom
Avant de créer une nouvelle vue pour votre projet, vous devez vérifier que tous les composants de votre projet ont un nom.
Si vous ouvrez une application multi-périphérique avec une ou plusieurs vues contenant des composants sans nom, RAD Studio affiche le message d'erreur suivant :
Cannot inherit from form <form name>. It contains a component with a blank name property.