Aller au contenu

[RESOLU] TextView avec Layout_gravity créé dynamiquement


cefabien

Recommended Posts

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
Lien vers le commentaire
Partager sur d’autres sites

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
Lien vers le commentaire
Partager sur d’autres sites

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...