我有以下xml文件

  <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:layout_width="match_parent"
              android:layout_height="match_parent"
              android:background="#000000"
              android:orientation="vertical">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_margin="100dp"
        android:orientation="vertical"
        android:background="#ff0000">

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="#00ff00"
            android:text="Button"
            android:layout_gravity="center"/>
    </LinearLayout>

</LinearLayout>

具有以下设计。

android:gravity =&#34;center&#34;没有按预期工作-LMLPHP
button 不应该也垂直放置在中心吗?我知道 layout_gravitygravity 是如何工作的。因此,根据我的理解,按钮应该在水平和垂直方向上都绝对位于中心。

最佳答案

您必须在 android:gravity="center" 中添加 LinearLayout

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_margin="100dp"
    android:orientation="vertical"
    android:gravity="center"
    android:background="#ff0000">

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="#00ff00"
        android:text="Button"
        android:layout_gravity="center"/>
</LinearLayout>

关于android:gravity ="center"没有按预期工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35370219/

10-10 08:32