IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Composants FMX Delphi Discussion :

Application sur n'importe quel SMARTPHONE


Sujet :

Composants FMX Delphi

  1. #1
    Membre émérite
    Homme Profil pro
    Directeur technique
    Inscrit en
    mai 2008
    Messages
    2 356
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Service public

    Informations forums :
    Inscription : mai 2008
    Messages : 2 356
    Points : 2 305
    Points
    2 305
    Par défaut Application sur n'importe quel SMARTPHONE
    Bonjour

    En fait j'ai deux questions :

    1. Lors de la conception comment choisir la taille idéale pour son application ?
    2. Existe-il une fonction qui permet d'avoir la meilleure disposition de son application sur n'importe quel appareil smart ?


    Le retour d'expérience de tout un chacun sera d'une grande utilité pour ceux qui se lancent dans la réalisation d'application Android car, parlant de moi même, je me retrouve coincé dans les refléxes de la VCL.

    Merci d'avance.
    Bon courage ou Bonne Chance (selon le contexte)
    Mon blog sur WordPress

  2. #2
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    juillet 2006
    Messages
    12 211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : juillet 2006
    Messages : 12 211
    Points : 21 538
    Points
    21 538
    Par défaut
    Ils ont peut-être changé le concept dans FMX depuis, je n'en ai jamais fait réellement, mais tu avais à un moment une notion de "Family" (TFormFactor.Devices) pour concevoir son application en différente résolution, Smartphone, Phablette, Tablette mais maintenant que les téléphones ont des résolutions plus grandes qu'un écran PC sur quelques pouces de diagonales ... ainsi selon la résolution/orientation cela prenait l'écran le plus proche tout en effectuant un Scale.

    Tu as la notion de Vue liée à une Device

    Je crois que le composant clé est le TLayout pour composer ou le TScaledLayout pour profiter au maximum du dessin vectoriel.
    Voir Stratégies des dispositions FireMonkey

    Pense à un truc très bête
    Tu bosses sur Windows, avec un émulateur, ton écran PC c'est disons un classique 1920x1080 (paysage)
    Ta cible Smartphone est un iPhone avec un écran Retina en 1125 x 2436 (portrait)

    Tu fais comment pour cibler cette résolution plus grande que ton PC ?
    Clairement, c'est un non-sens.
    Oubli le concept de résolution brute, design ton application sur Windows en mode Portrait (donc verticalement), que cela soit lisible sur le PC et FMX fera le boulot de Upscale sur le smartphone.
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  3. #3
    Membre émérite
    Homme Profil pro
    Directeur technique
    Inscrit en
    mai 2008
    Messages
    2 356
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Service public

    Informations forums :
    Inscription : mai 2008
    Messages : 2 356
    Points : 2 305
    Points
    2 305
    Par défaut
    Citation Envoyé par ShaiLeTroll Voir le message
    Oubli le concept de résolution brute, design ton application sur Windows en mode Portrait (donc verticalement), que cela soit lisible sur le PC et FMX fera le boulot de Upscale sur le smartphone.
    oui oui c'est ce que je fais mais j'ai quand même pas mal de déchets sur la cible.
    Je vais essayer avec les layouts et voir ce que ca va donner
    Bon courage ou Bonne Chance (selon le contexte)
    Mon blog sur WordPress

  4. #4
    Membre émérite Avatar de pprem
    Homme Profil pro
    MVP Embarcadero - développeur Delphi, PHP et JS
    Inscrit en
    juin 2013
    Messages
    1 105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : MVP Embarcadero - développeur Delphi, PHP et JS
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : juin 2013
    Messages : 1 105
    Points : 2 344
    Points
    2 344
    Par défaut
    Hiiiiiii crie l'escargot en freinant dans une descente...

    Non, non, non, ne pas se baser sur une taille optimale. Tout faire avec les ancres, alignements, layouts et empilages de composants.

    Sur mobiles, si on se base sur une taille précise et qu'on positionne tout au pixel prêt, c'est la garantie de se retrouver avec la génération suivante du même modèle avec des pixels en plus dans un sens et en moins dans l'autre.

    On peut faire comme sur les applications bureau classique (donc avec les réflexes de la VCL), mais il est vraiment préférable de repenser entièrement sa façon de faire.

    De la même façon je recommande de ne pas utiliser la géniale option de création des fiches par type d'écran qui se trouve dans le concepteur de fiches VCL et permet de positionner les composants en fonction d'une largeur ou hauteur fixes pour un OS particulier.

    Trop d'appareils sur le marché, trop d'écrans différents, même quand on travaille pour un logiciel interne à une entreprise on n'a aucune garantie que la taille d'écran soit la même 1, 2 ou 3 ans après avoir lancé le programme et donc du boulot inutile à refaire à ce moment là.

    Regardez les exemples de templates sur GetIt, ils montrent comment agencer les composants pour un résultat qui s'adapte tout seul.
    J'ai aussi plusieurs webinaires sur le sujet notamment celui-ci https://serialstreameur.fr/webinaire-20190528.php dans lequel je présentais les bases.

  5. #5
    Membre émérite
    Homme Profil pro
    Directeur technique
    Inscrit en
    mai 2008
    Messages
    2 356
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Service public

    Informations forums :
    Inscription : mai 2008
    Messages : 2 356
    Points : 2 305
    Points
    2 305
    Par défaut
    Citation Envoyé par pprem Voir le message
    Tout faire avec les ancres, alignements, layouts et empilages de composants.
    disant que c'est le principe de base.

    Citation Envoyé par pprem Voir le message
    On peut faire comme sur les applications bureau classique (donc avec les réflexes de la VCL), mais il est vraiment préférable de repenser entièrement sa façon de faire.
    un peur de détails sur repenser sa façon de faire !!!

    Citation Envoyé par pprem Voir le message
    Regardez les exemples de templates sur GetIt, ils montrent comment agencer les composants pour un résultat qui s'adapte tout seul.
    J'ai aussi plusieurs webinaires sur le sujet notamment celui-ci https://serialstreameur.fr/webinaire-20190528.php dans lequel je présentais les bases.
    je n'y manquerais pas certainement
    Bon courage ou Bonne Chance (selon le contexte)
    Mon blog sur WordPress

  6. #6
    Membre expérimenté
    Avatar de Gouyon
    Homme Profil pro
    Développeur informatique
    Inscrit en
    novembre 2003
    Messages
    951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : novembre 2003
    Messages : 951
    Points : 1 324
    Points
    1 324
    Billets dans le blog
    3
    Par défaut
    Il faut effectivement utiliser les layout et profiter de la possibilité d'afficher les vues simulées ça permet de vérifier si le rendu est bon et sinon il est possible de l'adapter.
    Ceci dit il faut quand même faire des tests réels. Un truc bête qui m'est arrivé j'ai mis en bas de l'écran un champ de saisie sauf que quand j'écris dedans il est masqué par le clavier du coup je n'arrive pas à voir ce que je tape avec mes gros doigts et le résultat est parfois déconcertant
    Il y a des jours où j'éprouve une haine profonde envers microsoft et Apple c'est pas mieux
    Mon modeste site et mes modestes oeuvres sont
    Rémi

  7. #7
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    novembre 2002
    Messages
    8 214
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : novembre 2002
    Messages : 8 214
    Points : 26 601
    Points
    26 601
    Par défaut
    Citation Envoyé par Gouyon Voir le message
    Il faut effectivement utiliser les layout et profiter de la possibilité d'afficher les vues simulées ça permet de vérifier si le rendu est bon et sinon il est possible de l'adapter.
    Ceci dit il faut quand même faire des tests réels. Un truc bête qui m'est arrivé j'ai mis en bas de l'écran un champ de saisie sauf que quand j'écris dedans il est masqué par le clavier du coup je n'arrive pas à voir ce que je tape avec mes gros doigts et le résultat est parfois déconcertant
    pour ce truc, j'utilise une astuce simple, je place tous les composants dans une TVertScrollBox puis sur VirtualKeyboardShown je change la Padding.Bottom de la fiche pour lui donner la hauteur de clavier (paramètres Bounds.Height) pour m'assurer que rien ne s'affiche sous le clavier, puis je scroll le control actif à l'écran...et dans VirtualKeyboardHidden je reset le padding
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  8. #8
    Membre expérimenté
    Avatar de Gouyon
    Homme Profil pro
    Développeur informatique
    Inscrit en
    novembre 2003
    Messages
    951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : novembre 2003
    Messages : 951
    Points : 1 324
    Points
    1 324
    Billets dans le blog
    3
    Par défaut
    Il faudra que j'essaye ça
    Il y a des jours où j'éprouve une haine profonde envers microsoft et Apple c'est pas mieux
    Mon modeste site et mes modestes oeuvres sont
    Rémi

Discussions similaires

  1. Comment lancer mon application sous n'importe quel répertoire ?
    Par condor_01 dans le forum Applications et environnements graphiques
    Réponses: 13
    Dernier message: 14/11/2007, 23h02
  2. Réponses: 12
    Dernier message: 28/09/2007, 14h01
  3. Script JSP qui ne fonctionne pas sur n'importe quel poste
    Par vannary dans le forum Servlets/JSP
    Réponses: 15
    Dernier message: 18/12/2006, 11h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo