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

Android Discussion :

Centrer un texte dans un LinearLayout sur 2 lignes


Sujet :

Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné
    Profil pro
    Inscrit en
    Juillet 2012
    Messages
    476
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 476
    Par défaut Centrer un texte dans un LinearLayout sur 2 lignes
    Bonjour,
    J'ai un p'tit problème de layout avec l'internationalisation. Quand un text en anglais prend 1 ligne, il est bien centré mais quand il est traduit en francais et prend alors 2 lignes, il est décalé sur la gauche.

    Voici le layout
    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
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center_horizontal"
        android:orientation="vertical">
     
        <LinearLayout
            android:layout_width="150dp"
            android:layout_height="150dp"
            android:layout_gravity="center_horizontal"
            android:gravity="center_horizontal"
            android:background="@drawable/shape_plan"
            android:orientation="vertical">
     
            <TextView
                android:id="@+id/price"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="20dp"
                android:layout_weight="1"
                android:textColor="@android:color/black"
                android:textSize="40sp"
                android:textStyle="bold" />
     
            <TextView
                android:id="@+id/period"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:textSize="20sp" />
        </LinearLayout>
     
     
        <TextView
            android:id="@+id/title"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:singleLine="false"
            android:layout_marginTop="10dp"
            android:textColor="@android:color/black"
            android:textSize="23sp"
            android:textStyle="bold" />
     
        <TextView
            android:id="@+id/title_info"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textColor="@android:color/black"
            android:textSize="20sp" />
    </LinearLayout>
    et les visuels :
    Nom : device-2016-04-05-134630.png
Affichages : 2175
Taille : 7,6 Ko Nom : device-2016-04-05-134554.png
Affichages : 2155
Taille : 9,3 Ko


    J'ai tenté en rajoutant l'attribut android:singleLine="false", mais ca n'a rien changé

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 23
    Par défaut
    Bonjour,

    J'imagine que ton Layout est inclus dans un autre Layout. Comme ton LinearLayout père a pour largeur "match_parent", est-ce que la place qu'il a ne serait pas plus grande en français qu'en anglais ? Car j'ai exactement ce que tu décris si je met la largeur du LinearLayout père à 250dp...

  3. #3
    Membre confirmé Avatar de kader15
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2016
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2016
    Messages : 65
    Par défaut
    Citation Envoyé par Turvy Voir le message
    Bonjour,
    J'ai un p'tit problème de layout avec l'internationalisation. Quand un text en anglais prend 1 ligne, il est bien centré mais quand il est traduit en francais et prend alors 2 lignes, il est décalé sur la gauche.

    Voici le layout
    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
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center_horizontal"
        android:orientation="vertical">
     
        <LinearLayout
            android:layout_width="150dp"
            android:layout_height="150dp"
            android:layout_gravity="center_horizontal"
            android:gravity="center_horizontal"
            android:background="@drawable/shape_plan"
            android:orientation="vertical">
     
            <TextView
                android:id="@+id/price"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="20dp"
                android:layout_weight="1"
                android:textColor="@android:color/black"
                android:textSize="40sp"
                android:textStyle="bold" />
     
            <TextView
                android:id="@+id/period"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:textSize="20sp" />
        </LinearLayout>
     
     
        <TextView
            android:id="@+id/title"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:singleLine="false"
            android:layout_marginTop="10dp"
            android:textColor="@android:color/black"
            android:textSize="23sp"
            android:textStyle="bold" />
     
        <TextView
            android:id="@+id/title_info"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textColor="@android:color/black"
            android:textSize="20sp" />
    </LinearLayout>
    et les visuels :
    Nom : device-2016-04-05-134630.png
Affichages : 2175
Taille : 7,6 Ko Nom : device-2016-04-05-134554.png
Affichages : 2155
Taille : 9,3 Ko


    J'ai tenté en rajoutant l'attribut android:singleLine="false", mais ca n'a rien changé
    Salut,

    essaie ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    android:textAlignment="center"

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Juillet 2012
    Messages
    476
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 476
    Par défaut
    @ vinlap : il s'agit du layout d'une custom view qui est introduite dynamiquement dans un autre linearlayout avec un layout_weight de 1. Quand j'en seulement 2 d'affichés, c'est bien présenté, comme en anglais, mais à 4, ca prend trop de place et s'organise comme montré précédemment.

    @ kader15 : ca marche surement, mais j'ai oublié de préciser que je suis sous Android 2.3 (obligation du projet) et ta solution nécessite l'api 17.

    En fixant la taille du layout pere, ca coupe le texte voisin si elle est trop grande

  5. #5
    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 : 36
    Localisation : France

    Informations professionnelles :
    Activité : Développeur mobile

    Informations forums :
    Inscription : Février 2010
    Messages : 2 180
    Par défaut
    Et cette obligation repose sur quoi ?
    A moins d'être dans un cas extrêmement précis, tu peux faire évoluer la version minimale en montrant simplement que les terminaux Android sous 2.3 n'existent plus.
    https://developer.android.com/about/...rds/index.html

    En regardant les divers analytics du projet (au moins ceux de la console Google Play), tu devrais avoir une répartition des versions adaptée à ton application et d'autres chiffres appuyant le fait que conserver la compatibilité 2.3 est inutile. Sans compter les divers arguments sur la dette technique engendrée, ton manque de formation sur les sorties Android (pour pouvoir rester à la page), le temps de développement rallongé (vu que plus personne ne développe sur cette version) ainsi que les recommandations Google de supporter Android 4 (ou 4.2) au minimum.
    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

  6. #6
    Membre chevronné
    Profil pro
    Inscrit en
    Juillet 2012
    Messages
    476
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 476
    Par défaut
    Sans trop détailler, il s'agit d'un projet pro pour des horodateurs, avec une tablette spécifique (produite par le fabricant d'horodateurs) et qui ne fonctionne donc que sous Android 2.3. Si j'avais le choix, je ne m'embêterais pas avec une api dépassée depuis 4-5 ans.

    Sinon, j'ai réussi à m'en sortir en mettant android:gravity="center_horizontal" sur mon textview aussi.

  7. #7
    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 : 36
    Localisation : France

    Informations professionnelles :
    Activité : Développeur mobile

    Informations forums :
    Inscription : Février 2010
    Messages : 2 180
    Par défaut
    Ca me rappelle des souvenirs, ce genre de projet...

    OK, un cas particulier...

    Peux-tu passer par une webview plutôt que par un TextView pour utiliser <center> dessus (ou la propriété CSS idoine) ?
    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. Centrer un texte dans une page
    Par Samanta dans le forum Mise en forme
    Réponses: 5
    Dernier message: 20/09/2010, 22h30
  2. Centrer un texte dans ListBox, dans OnDrawItem
    Par Sunchaser dans le forum C++Builder
    Réponses: 3
    Dernier message: 21/03/2005, 01h46
  3. Centrer le texte dans une TStringGrid
    Par Rodrigue dans le forum C++Builder
    Réponses: 2
    Dernier message: 10/06/2004, 11h01
  4. Comment centrer un Texte dans un rectangle ...
    Par Djedjeridoo dans le forum Composants VCL
    Réponses: 3
    Dernier message: 16/06/2003, 21h56
  5. Centrer un texte dans un string Grid
    Par christine dans le forum C++Builder
    Réponses: 5
    Dernier message: 22/10/2002, 22h33

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