Можно ли указать несколько значений силы тяжести в элементе spinner custom_style.xml? - PullRequest
64 голосов
/ 08 марта 2011

У меня есть 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 это не работает - тексттолько влево.

Ответы [ 2 ]

166 голосов
/ 08 марта 2011

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

  1. Вверху слева: android:layout_gravity="top|left"

  2. Топ-Центр: android:layout_gravity="top|center_horizontal"

  3. Вверху справа: android:layout_gravity="top|right"

  4. Левый центр: android:layout_gravity="center_vertical|left"

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

  6. В центре справа: android:layout_gravity="center_vertical|right"

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

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

  9. Внизу справа: android:layout_gravity="bottom|right"

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

12 голосов
/ 01 января 2018

На всякий случай кто-нибудь еще был таким же глупым, как я. Не забудьте убрать пробелы. android:gravity="center_horizontal|bottom" но android:gravity="center_horizontal | bottom" недействительно.

...