AIR Mobile – Déterminer si l'application est lancée sur un smartphone ou une tablette
Maintenant que vous faîtes des applications mobiles avec Flex, vous allez devoir penser davantage à l'environnement d'exécution. En web ou en desktop, cela importait peu puisqu'au final, vous étiez dans le navigateur et "protégé" par Flash Player pour ce qui est de l'interprétation de votre code.
Dans les environnements mobiles, le matériel / OS devient important. L'OS pour les "habitudes" utilisateur qu'il faut connaître (boutons hardwares, swipes, …) et le matériel pour ce qui est gestion des DPI ou de la puissance / RAM de la machine par exemple. Dans les prochains tutoriaux, on va voir comment réaliser cette adaptation multi-DPI et pour l'instant on va commencer par faire simple.
Il y a pour l'instant 2 grands types de matériel tactile: les smartphones (iPhone, Galaxy S, HTC Desire, …) et les tablettes (iPad, Galaxy Tab, Xoom, …).
La différence est importante car vos allez arranger de manière différente vos composants selon la place que vous avez à votre disposition. Par exemple, le paradigme "1 vue pour la liste, 1 vue pour les détails" peut être rassemblé sur la même vue avec la liste à gauche et le détail à droite (exemple: GMail).
La méthode pour différencier les deux est en fait assez simple, il vous suffit de vérifier si la taille maximale de l'application n'est pas plus grande qu'un certain seuil. A la vue des smartphones et des tablettes actuelles, le seuil est de 960 pixels.
Voici une fonction que vous pouvez utiliser:
public function isTablet():Boolean {
return stage.fullScreenHeight > 960 || stage.fullScreenWidth > 960;
}
Bon si j'étais vous, j'en ferai plutôt une méthode static dans un "MobileUtils" ou quelque chose comme ça. Pour récupérer le stage, vous pouvez aller le chercher sur FlexGlobals.topLevelApplication.stage. Attention, si vous essayez de la faire avant l'évènement APPLICATION_COMPLETE, "stage" sera sûrement null. Je crois que vous pouvez aller le chercher dans la variable "systemManager" en attendant
.
Articles similaires
- AIR pour Android – Mobiles supportant Adobe Air (avec processeurs ARMv7-A)
- Flash Builder 4 Burrito – Lancer son application directement sur device
- AIR Mobile – Utilisation de SplashScreenImage / SplashScreenImageSource
- AIR Mobile – Accéder aux contacts sous iOS (Address Book)
- AIR Mobile – Comprendre les composants ViewNavigator et View
Aucun trackbacks pour l'instant





