Aller au contenu

[RESOLU] TextView avec Layout_gravity créé dynamiquement


Recommended Posts

Posté(e) (modifié)

Bonjour,

suis en train de mettre en place mon interface dynamiquement et je me retrouve confronté à un souci, je n'arrive pas à placer mon TextView ainsi qu'une ImageView centré horizontalement.

Pour le TextView, j'ai essayé :

TextView separator1 = new TextView(getApplicationContext());
separator1.setLayoutParams(new LayoutParams(180,1)); // Width et Height
separator1.setBackgroundColor(Color.argb(255, 255, 255, 255)); // Couleur
separator1.setGravity(Gravity.CENTER); 

// Gravity ne fait rien !!! Comment faire ?

Et je me pose la même question pour une ImageView, pour laquelle setGravity() n'existe pas.

Dans les 2 cas en XML ça donne:

android:layout_gravity="center"

Help

Modifié par cefabien
Posté(e) (modifié)

ok,

j'ai compris le souci et j'ai donc trouvé la solution...

Je vais essayé d'expliquer pour ceux que ça intéresserait.

- Mes TextView et ImageView sont contenus dans un LinearLayout.

- Tous deux ont width = "wrap_content", donc le containeur du TextView et de ImageView est plus petit que la largeur de l'écran.

Faire un gravity sur ces deux éléments ne sert à rien car ils sont déjà positionnés ("centrés" car ils font la taille du container). Donc c'est le container qu'il faut centrer et cela se fait à partir du parent, ici "LinearLayout".

Donc dans mon code, le

monLinearLayout.setGravity(Gravity.CENTER);

va centrer TOUS les fils. Ce sera bien sûr visible uniquement sur les fils avec un width="wrap_content".

Si mon TextView avait un width="fill_parent", alors pour centrer le text du container j'aurais fait

monTextView.setGravity(Gravity.CENTER);

Pour l'ImageView je sais pas comment ça aurait fait car y a pas la propriété setGravity(). Si quelqu'un peut compléter.

Voilà je pense pas m'être tromper, mais suis pas certain d'avoir été clair :)

Modifié par cefabien

Rejoignez la conversation

Vous pouvez poster maintenant et vous enregistrez plus tard. Si vous avez un compte, connectez-vous maintenant pour poster.

Invité
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...