我的按钮文字在Android应用程序中正确对齐时遇到了一些麻烦。目前,我的按钮文本与按钮中心文本的左侧对齐,如图所示:
|空白|文字在这里|
我尝试过使用gravity =“center_horizontal | center_vertical”无济于事。我已经尝试将一个新按钮添加到一个完全独立的项目中,这仍然存在。它也在LinearLayouts和RelativeLayouts中执行此操作。
提前感谢您的帮助。
这是一个布局文件。然而,它正在所有这些中进行,包括在其他项目中。此外,此布局上的所有3个按钮都有相同的问题。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<Button
android:layout_width="wrap_content"
android:text="@string/history_delete_record"
android:id="@+id/History_Delete_Record"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_gravity="center_horizontal|center_vertical"></Button>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/History_Delete_Record"
android:layout_alignLeft="@+id/History_Delete_Record"
android:id="@+id/History_Open_Details"
android:text="@string/history_open_record"></Button>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/History_Cancel"
android:text="@string/cancel"
android:layout_below="@+id/History_Open_Details"
android:layout_alignLeft="@+id/History_Open_Details"
android:layout_marginTop="19dp">
</Button>
</RelativeLayout>
答案 0 :(得分:0)
以下是具有居中文本的按钮的简单实现:
<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”中指定宽度,“dp”是与密度无关的值单位。有关此主题的更多信息,请参阅此post。
修改强> 以下是我建议的用于布局的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>