小编典典

在线性布局中居中按钮

all

我正在使用线性布局来显示一个非常轻的初始屏幕。它有 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>

阅读 114

收藏
2022-03-31

共1个答案

小编典典

如果您想将一个项目置于屏幕中间,请不要使用 a LinearLayout,因为它们用于连续显示多个项目。

改用 a
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>
2022-03-31