我正在使用线性布局来显示一个非常轻的初始屏幕。它有 1 个按钮,应该在屏幕上水平和垂直居中。但是,无论我尝试做什么,按钮都会顶部对齐中心。我已经包含了下面的 XML,有人能指出我正确的方向吗?
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <ImageButton android:id="@+id/btnFindMe" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical|center_horizontal" android:background="@drawable/findme"></ImageButton> </LinearLayout>
如果您想将一个项目置于屏幕中间,请不要使用 a LinearLayout,因为它们用于连续显示多个项目。
LinearLayout
改用 a RelativeLayout。
RelativeLayout
所以替换:
android:layout_gravity="center_vertical|center_horizontal"
对于相关RelativeLayout选项:
android:layout_centerInParent="true"
所以你的布局文件将如下所示:
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout android:id="@+id/RelativeLayout01" android:layout_width="fill_parent" android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android"> <ImageButton android:id="@+id/btnFindMe" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true" android:background="@drawable/findme"></ImageButton> </RelativeLayout>