текст кнопки не центрируется вертикально в кнопке - PullRequest
6 голосов
/ 28 октября 2011

Я создаю приложение для Android, и у меня есть кнопка с пользовательским фоновым изображением. Фоновое изображение - это просто прямоугольник, но теперь текст кнопки, кажется, не центрируется по вертикали. Вот мой xml для кнопки:

<Button 
android:id="@+id/save_to_list"
android:layout_below="@+id/info_pic"
android:text="SAVE TO LIST"
android:textColor="@android:color/white"
android:layout_centerHorizontal="true"
android:layout_gravity="center_horizontal"
android:layout_width="260dp"
android:layout_height="35dp"
android:layout_marginTop="15dp"
android:layout_marginBottom="15dp"></Button>

и я установил фон здесь:

ImageView button_bg = (ImageView)findViewById(R.id.button_background);
savetolist_button.setBackgroundDrawable(button_bg.getDrawable());

Есть ли где изменить положение текста внутри кнопки?

Ответы [ 4 ]

12 голосов
/ 28 октября 2011

android:layout_gravity определяет выравнивание макета внутри родительского элемента.Для выравнивания текста внутри кнопки вам нужно android:gravity, например

<Button 
    ...
    android:gravity="center"
    ...>
</Button>
4 голосов
/ 28 октября 2011

Ваша кнопка слишком короткая, чтобы правильно разместить текст. Увеличьте layout_height, и текст должен быть центрирован.

1 голос
/ 28 октября 2011

Ваш текст, скорее всего, имеет встроенный в шрифт отступ, как часть каждой буквы, и именно поэтому ваш текст перемещается в одном направлении.Установите layout_height на «wrap_content», и ваш текст теперь должен быть центрирован правильно.

0 голосов
/ 28 октября 2011

Мне показалось, что лучше всего использовать изображение с 9 заплатами для прямоугольного фона, а не для рисования в формате XML.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...