Можно ли указать несколько значений гравитации в элементе spinner custom_style.xml? - программирование
Подтвердить что ты не робот

Можно ли указать несколько значений гравитации в элементе spinner custom_style.xml?

У меня есть textview.xml, который является стилем элемента для роликов.

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

Я знаю, что можно указать как (Gravity.LEFT | Gravity.CENTER_HORIZONTAL), так и в xml, который не работает - текст перемещается только влево.

4b9b3361

Ответ 1

87element,

Я полагаю, что вы намеревались использовать layout_gravity, вы используете только gravity??

Да, вы можете объединить два из этих атрибутов layout_gravity вместе с '|' как указано в документации: http://developer.android.com/reference/android/R.attr.html#layout_gravity

Но даже используя layout_gravity вместо просто gravity (как указано в его комментарии), настройки, которые вы пытаетесь объединить, не имеют смысла. Вы говорите, что в основном выровнять левый и центральный по одной и той же строке. Оба left и center_horizontal в этом случае относятся к горизонтальным положениям.

Где вы пытаетесь выровнять TextView относительно родительского?

Ваш родительский макет похож на сетку, где вы можете выбрать позицию:

| [1] [2] [3] |

| [4] [5] [6] |

| [7] [8] [9] |

  • Топ-левый: android:layout_gravity="top|left"

  • Top-Center: android:layout_gravity="top|center_horizontal"

  • Вверх-вправо: android:layout_gravity="top|right"

  • Центр-левый: android:layout_gravity="center_vertical|left"

  • Очень центр: android:layout_gravity="center"

  • Center-Right: android:layout_gravity="center_vertical|right"

  • Внизу слева: android:layout_gravity="bottom|left"

  • Нижний центр: android:layout_gravity="bottom|center_horizontal"

  • Внизу-вправо: android:layout_gravity="bottom|right"

Надеюсь, это поможет!