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 graphiques Android Discussion :

Avoir 2 textView centrés et un autre en bas


Sujet :

Composants graphiques Android

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2014
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2014
    Messages : 66
    Points : 33
    Points
    33
    Par défaut Avoir 2 textView centrés et un autre en bas
    Bonjour tout le monde,

    je voudrais savoir comment avoir 2 textView centrés horizontalement et verticalement, et un textView centré horizontalement mais en bas de l'écran. Pour centrer les 2 premiers j'y arrive en les mettant dans un linearlayout avec layout_gravity :center mais pas à avoir le dernier en bas, centré horizontalement ou pas, même en mettant center:bottom en layout_gravity.

    Quelqu'un saurait comment faire?

    Merci

  2. #2
    Modérateur
    Avatar de MasterMbg
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2011
    Messages
    719
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2011
    Messages : 719
    Points : 1 493
    Points
    1 493
    Par défaut
    Citation Envoyé par 2001hal Voir le message
    Bonjour tout le monde,

    je voudrais savoir comment avoir 2 textView centrés horizontalement et verticalement, et un textView centré horizontalement mais en bas de l'écran. Pour centrer les 2 premiers j'y arrive en les mettant dans un linearlayout avec layout_gravity :center mais pas à avoir le dernier en bas, centré horizontalement ou pas, même en mettant center:bottom en layout_gravity.

    Quelqu'un saurait comment faire?

    Merci
    Bonjour,
    De préférence, j'utilise le RelativeLayout pour construire mes interfaces graphiques. Je trouve que ça laisse libre choix au développeur de positionner les Views sans trop encombrer le conteneur (Pas de LineairLayout imbriqués par exemple). Si tu pouvais t'y mettre, je te proposerais la solution suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
     
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context="${relativePackage}.${activityClass}" >
     
        <TextView 
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:paddingTop="10dp"
            android:layout_centerHorizontal="true"
            android:text="Premier TextView"
            />
        <TextView 
            android:id="@+id/textView2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:paddingTop="10dp"
            android:layout_centerHorizontal="true"
            android:layout_below="@id/textView1"
            android:text="Deuxième TextView"
            />
     
        <TextView 
            android:id="@+id/textView3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:paddingTop="10dp"
            android:layout_centerHorizontal="true"
            android:layout_alignParentBottom="true"
            android:text="Deuxième TextView"
            />
     
    </RelativeLayout>
    Un peu d'explications? Allons y :
    - Je centre tous les TextView en utilisant l'attribut android:layout_centerHorizontal="true"
    - J'ai placé le deuxième TextView en dessous du premier en se servant de android:layout_below="@id/textView1"
    - Et pour envoyer le troisième TextView en bas de l'écran, je me suis servi de android:layout_alignParentBottom="true"

    Essaie de t'habituer avec ce layout (RelativeLayout) et tu deviendras fan comme moi
    Plus tu apprends sérieusement, plus tu te rapproches d'un savoir noble. Une chose est certaine, les difficultés ne s'écarteront de ton chemin...

    Tu es nouveau dans le développement Android, la page des COURS est là pour te faciliter la vie
    Tu peux trouver la réponse à ta question dans la FAQ
    Retrouvez mon tutoriel sur la consommation des services web SOAP
    Pense à voter positivement en appuyant sur en bas à droite de la réponse qui t'a donné une piste de solution.

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2014
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2014
    Messages : 66
    Points : 33
    Points
    33
    Par défaut
    Merci pour ta réponse! je connaissais plus ou moins les relativeLayouts.

    C est plus contraignant mais je risque de faire comme ça même si j'ai dû mal à comprendre qu'on ne puisse pas faire cela avec les layouts standards comme les linear.

  4. #4
    Modérateur
    Avatar de Hizin
    Homme Profil pro
    Développeur mobile
    Inscrit en
    Février 2010
    Messages
    2 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur mobile

    Informations forums :
    Inscription : Février 2010
    Messages : 2 180
    Points : 5 072
    Points
    5 072
    Par défaut
    Tu as un besoin particulier.

    Les LinearLayout sont des boîtes permettant de mettre les uns à la suite des autres. Ici, manifestement, tu souhaites avoir un espace vide important, où ta contrainte est "ce widget là doit être en bas de l'écran". Un LinearLayour ne peut pas (ou difficilement) répondre à cette contrainte.
    Le plus simple est donc de passer par un RelativeLayout.

    Au contraire de MasterMbg, je te conseil de n'utilise un RelativeLayout que quand tu ne peux faire autrement (comme ici). Le code produit est moins facile à comprendre, plus bordélique puisque la hiérarchie de déclaration ne signifie plus rien et les comportement sont parfois un peu perturbant.
    À mon sens, il vaut mieux utiliser le bon conteneur dépendant des besoins, et ne pas oublier les compoundDrawable, en essayant d'éviter trop d'imbrications (3 niveaux maximum) et en surveillant le temps de dessin et l'overdraw lorsque l'on peut.
    C'est Android, PAS Androïd, ou Androïde didiou !
    Le premier est un OS, le second est la mauvaise orthographe du troisième, un mot français désignant un robot à forme humaine.

    Membre du comité contre la phrase "ça marche PAS" en titre et/ou explication de problème.

    N'oubliez pas de consulter les FAQ Android et les cours et tutoriels Android

Discussions similaires

  1. Réponses: 32
    Dernier message: 18/12/2015, 23h08
  2. Ouverture d'un formulaire au centre d'un autre
    Par megamario dans le forum VB.NET
    Réponses: 6
    Dernier message: 23/01/2015, 08h04
  3. [AC-2013] Avoir accès à la Listbox d'un autre formulaire
    Par simon12 dans le forum IHM
    Réponses: 2
    Dernier message: 19/05/2014, 10h19
  4. Modification d'un TextView à partir d'une autre classe
    Par lea436 dans le forum Composants graphiques
    Réponses: 2
    Dernier message: 08/02/2012, 20h42
  5. [1.x] Impossible d'avoir acces à un projet sur un autre poste
    Par introdisco dans le forum Symfony
    Réponses: 3
    Dernier message: 10/02/2011, 17h37

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