Вот простая реализация кнопки с центрированным текстом:
<Button xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/myBtn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_horizontal|center_vertical"
android:text="Button text!" />
Проблема с вашим кодом заключается в том, что вы устанавливаете ширину в пикселях, когда вам следует использовать атрибут xml android:layout_width="wrap_content"
, который обернет текст кнопки, чтобы соответствовать представлению соответственно.
Также обратите внимание, что вы никогда не должны устанавливать ширину вида в пикселях, так как это не будет хорошо работать при разных размерах экрана и плотности. Вместо использования «px» укажите ширину в «dp», независимую от плотности единицу измерения. Для получения дополнительной информации по этой теме см. post .
EDIT
Вот мой предложенный XML-код, который вы используете для макета:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<Button
android:id="@+id/History_Delete_Record"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:text="@string/history_delete_record" >
</Button>
<Button
android:id="@+id/History_Open_Details"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/History_Delete_Record"
android:layout_alignRight="@+id/History_Delete_Record"
android:layout_below="@+id/History_Delete_Record"
android:text="@string/history_open_record" >
</Button>
<Button
android:id="@+id/History_Cancel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/History_Open_Details"
android:layout_alignRight="@+id/History_Open_Details"
android:layout_below="@+id/History_Open_Details"
android:text="@string/cancel" >
</Button>
</RelativeLayout>