Application Android Multi_Interface

Posted on Posted in Windev

Suite à la révolution technologique et l’augmentation du nombre d’appareils informatiques de différente gammes, designs et tailles, le développement des applications multi-interfaces devient une nécessité pour se tenir au courant de l’évolution.
Avec les versions inférieures à WinDev Mobile 19, le développeur à besoin de saisir un code java natif qui détecte le type d’appareils (Smartphone ou Tablette) et lance l’interface qui lui convient.
Pour savoir plus sur la saisie des codes java dans l’éditeur de WinDev Mobile, vous pouvez consulter la documentation “Saisir du code Java” .
Pour notre tutoriel, on a créé le projet Phablette avec WinDev Mobile 17.
Créez une fenêtre FEN_phone avec des petites dimensions (ex: 320×483).

Créez une fenêtre FEN_tablet avec des dimensions plus larges que la première.

Créer une procédure globale EnModeTablette, changez le mode de l’éditeur du « WD » vers « Java » et collez le code:

Vous pouvez simplement importer la procédure depuis la collection « COL_JAVA » attaché au projet.

Finalement, insérez le code suivant à l’initialisation du projet.

Après la génération de l’application, si vous installez l’APK dans un Smartphone, la fenêtre FEN_phone se lance au premier et si vous installer l’APK dans une tablette la fenêtre FEN_tablet se lance au premier.
NB: le teste sur un émulateur ne donne pas de bon résultat, la fenêtre FEN_phone se lance toujours au premier.

[button text= »Télécharger le tutoriel » link= »http://www.mediafire.com/download/hn0qy20mjm71fr8/phablet17.rar » style= »default » size= »normal » target= »_blank » display= »inline » icon= »no »]

2 thoughts on “Application Android Multi_Interface

  1. Pour la procédure EnModeTablette, celui-ci (fournit avec la 19) est plus propre et efficace :

    import android.content.res.Configuration;

    // Renvoie vrai si l’appareil qui exécute l’application est une tablette
    public static boolean EnModeTablette(){
    return (getContexteApplication().getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) >= Configuration.SCREENLAYOUT_SIZE_LARGE;
    }

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *