2012-03-18 3 views
0

Я что-то упускаю, если у меня только есть стандартный TextView и задан его размер текста по заданному числу, то гравитация в центре текста перестает работать, см. Ниже пример.Гравитация игнорируется над определенным текстом

тяжести рабочего:

<TextView 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:gravity="center" 
    android:text="B" 
    android:textSize="472sp" /> 

Gravity working


Гравитация не работает

<TextView 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:gravity="center" 
    android:text="B" 
    android:textSize="572sp" /> 

Gravity not working

Это произойдет s на устройстве, а также эмулятор/предварительный просмотр.

+2

Я думаю, что Билл Гейтс однажды заметил, что '472sp' должно быть достаточно для всех. :-) – CommonsWare

+0

http://code.google.com/p/android/issues/detail?id=8435 :-( – Blundell

ответ

2

Я бы предположил, что это связано с тем, что общий размер TextView, включающий неявное заполнение (например, может существовать), просто больше вашего экрана, поэтому поле закреплено вверху, а видимая часть выжимается по экрану. Что произойдет, если вы разместите его на большом дисплее? Редактировать: В примере 572sp он приближается к центру в портретном режиме на планшете.

+0

AH ok. Да, положив его на 5 дюймов, он снова центрирован. Таким образом, пространство вокруг буквы «B» «Я предполагаю, что это часть шрифта? Потому что мое заполнение textviews равно 0. – Blundell

+0

Вы применили специальный стиль для удаления любых дополнений, которые могли быть в родительском стиле? – Sparky

+2

Я предполагаю, что сам шрифт не имеет встроенного дополнения, но, возможно, текстовое поле делает. – Sparky