1

无法弄清楚如何在 XML 中进行设置...

试图让一个按钮放置在它后面的 2 个片段上。

我想要的是:

在此处输入图像描述

我有的:

在此处输入图像描述

我的代码:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal"
    tools:context=".VulgarActivity" 
    >
    <Button
        android:id="@+id/luckBtn"
        android:layout_gravity="bottom"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/feel_lucky"
        android:textColor="#ffffff"
        />
    <fragment
        android:name="com.wizardknight.visionaryvulgarity.FirstWord"
        android:id="@+id/firstWord"
        android:layout_weight="1"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        />
    <fragment
        android:name="com.wizardknight.visionaryvulgarity.LastWord"
        android:id="@+id/lastWord"
        android:layout_weight="1"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        />  
</LinearLayout>
4

1 回答 1

1

您可以使用以下命令执行此操作RelativeLayout

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent" >

        <fragment
            android:id="@+id/firstWord"
            android:name="com.wizardknight.visionaryvulgarity.FirstWord"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1" />

        <fragment
            android:id="@+id/lastWord"
            android:name="com.wizardknight.visionaryvulgarity.LastWord"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1" />
    </LinearLayout>

    <Button
        android:id="@+id/luckBtn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:layout_gravity="bottom"
        android:text="@string/feel_lucky"
        android:textColor="#ffffff" />

</RelativeLayout>

在此处输入图像描述

解释:

RelativeLayout和之间的区别LinearLayout很简单。LinearLayouts就像名字已经说过的那样,线性地排列他们的子视图。这意味着,孩子将根据彼此的方向LinearLayout垂直或水平排列自己。RelativeLayout另一方面,子视图对于父视图或其他视图对自身进行排序。在此布局中,我只是将父布局更改为RelativeLayout并将您的片段包装在 a 中LinearLayout,以便它们可以使用该layout_weight属性。然后我将其设置为按钮:

android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"

这会将按钮与底部对齐并将它们水平居中。现在,由于它相对于顶级布局执行此操作,因此它与片段重叠。 

于 2013-04-20T22:07:01.013 回答