按钮彼此相邻 - 但每个按钮都有自己的一面

时间:2017-02-22 16:12:48

标签: android android-layout

我在这里找到了第一个问题的答案,我设法将两个按钮设置为彼此:xml文件:

<LinearLayout
    android:id="@+id/linearLayout1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:layout_alignParentTop="false"
    android:layout_alignParentLeft="false"
    android:layout_alignParentStart="false"
    android:layout_alignParentBottom="false"
    android:layout_alignParentRight="false"
    android:layout_centerHorizontal="true"
    android:gravity="center"
    android:layout_below="@id/description"
    android:layout_alignParentEnd="false">

    <!-- Send it Button -->
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/confirm_it"
        android:textColor="@color/white"
        android:textSize="15sp"
        android:layout_weight="0"
        android:id="@+id/confirm_button"
        android:backgroundTint="@color/darkCyan"
        android:onClick="sendName"
        />

    <!-- Skip it Button -->
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/skip_it"
        android:textColor="@color/white"
        android:textSize="15sp"
        android:id="@+id/skip_button"
        android:backgroundTint="@color/darkCyan"
        android:layout_marginLeft="10dp"
        android:layout_marginStart="10dp"
        android:onClick="skipName"
        />
    </LinearLayout>

现在我想做别的事情,我仍然希望彼此相邻的两个按钮,水平,但我希望每个例如SEND按钮到页面的最左边,并且SKIP按钮到页面的最右边:

这就是我想要的:

enter image description here

有可能吗?如何?

3 个答案:

答案 0 :(得分:0)

最简单的答案是将LinearLayout替换为RelativeLayout并使用对齐

<RelativeLayout ...>

    <Button ...
        android:layout_alignParentLeft="true" />
    <Button ...
        android:layout_alignParentRight="true" />

</RelativeLayout>

答案 1 :(得分:0)

如果必须使用LinearLayout。您可以尝试使用 weight或weightSum

的LinearLayout
    <LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal">

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"/>

    <Button
        android:layout_width="wrap_content"
        android:layout_weight="1"
        android:layout_height="wrap_content"/>
</LinearLayout>

    <LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:weightSum="1"
    android:orientation="horizontal">

    <Button
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight=".5"/>

    <Button
        android:layout_width="0dp"
        android:layout_weight=".5"
        android:layout_height="wrap_content"/>
</LinearLayout>

答案 2 :(得分:0)

还有更简单的方法。如果在两个按钮之间添加布局,并且布局权重为&#34; 1&#34;。两个按钮根据需要对齐。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <LinearLayout
        android:orientation="horizontal"
        android:minWidth="25px"
        android:minHeight="25px"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/linearLayout1">
        <Button
            android:text="Button"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:id="@+id/button1" />
        <LinearLayout
            android:orientation="horizontal"
            android:minWidth="25px"
            android:minHeight="25px"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:id="@+id/linearLayout2"
            android:layout_weight="1" /> <!-- I say there -->
        <Button
            android:text="Button"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:id="@+id/button2" />
    </LinearLayout>
</LinearLayout>