web-dev-qa-db-fra.com

Est-il possible de spécifier plusieurs valeurs de gravité dans l'élément spinner custom_style.xml?

J'ai textview.xml, qui est le style d'élément pour les filateurs.

<TextView
  xmlns:Android="http://schemas.Android.com/apk/res/Android"
  Android:layout_width="fill_parent"
  Android:layout_height="fill_parent"
  Android:gravity="left|center_horizontal"
  Android:textSize="18sp">
</TextView>

Je sais qu'il est possible de spécifier les deux (Gravity.LEFT | Gravity.CENTER_HORIZONTAL), mais en xml cela ne fonctionne pas - le texte est déplacé vers la gauche uniquement.

64
87element

87element,

Je pense que vous aviez l'intention d'utiliser layout_gravity vous utilisez uniquement gravity ??

Oui, vous pouvez combiner deux de ces layout_gravity attributs avec le '|' comme mentionné dans la documentation: http://developer.Android.com/reference/Android/R.attr.html#layout_gravity

Mais même en utilisant layout_gravity au lieu de simplement gravity (comme l'a indiqué adamp dans son commentaire), les paramètres que vous essayez de combiner n'ont pas de sens. Vous lui dites essentiellement d'aligner à gauche et au centre le long de la même rangée. left et center_horizontal dans ce cas, se référer aux positions horizontales.

Où essayez-vous d'aligner le TextView par rapport au parent?

Votre disposition parent est comme une grille où vous pouvez sélectionner une position:

| [1] [2] [3] |

| [4] [5] [6] |

| [7] [8] [9] |

  1. En haut à gauche: Android:layout_gravity="top|left"

  2. Centre supérieur: Android:layout_gravity="top|center_horizontal"

  3. En haut à droite: Android:layout_gravity="top|right"

  4. Centre-gauche: Android:layout_gravity="center_vertical|left"

  5. Très centre: Android:layout_gravity="center"

  6. Centre-droit: Android:layout_gravity="center_vertical|right"

  7. En bas à gauche: Android:layout_gravity="bottom|left"

  8. En bas au centre: Android:layout_gravity="bottom|center_horizontal"

  9. En bas à droite: Android:layout_gravity="bottom|right"

J'espère que cela t'aides!

166
Will Tate

Juste au cas où quelqu'un d'autre serait aussi stupide que moi. N'oubliez pas de supprimer les espaces. Android:gravity="center_horizontal|bottom" mais Android:gravity="center_horizontal | bottom" n'est pas valide.

12
Walter Kimaro