两个其他按钮之间的中心按钮

时间:2015-10-08 10:05:32

标签: android android-layout android-linearlayout android-relativelayout

我正试图将按钮放在其他两个按钮的中间。我尝试使用weight,但没有运气(Android Studio继续说有错误),使用layout_marginRight不是一个好主意,因为它不是独立于分辨率的。 这是我的XML代码,我希望它可以帮助您理解我的问题。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
tools:showIn="@layout/app_bar_main"
tools:context=".MainActivity">

<TextView
    android:text="Hello World!"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" />

<android.support.v7.widget.Toolbar
    android:id="@+id/toolbar_bottom"
    android:layout_height="wrap_content"
    android:layout_width="fill_parent"
    android:background="?attr/colorPrimary"
    android:layout_alignParentBottom="true"
    android:minHeight="?attr/actionBarSize" >

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="horizontal"
        android:gravity="center">

        <RelativeLayout
            android:id="@+id/relativeLayout1"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent" >

            <Button
                android:id="@+id/bottom_LeftButton"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Lft"
                android:layout_alignParentLeft="true" />

            <Button
                android:id="@+id/bottom_LeftCenterButton"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="LftC"
                android:layout_alignParentLeft="true" />

            <Button
                android:id="@+id/bottom_CenterButtom"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_centerInParent="true"
                android:text="Cnt" />

            <Button
                android:id="@+id/bottom_RightCenterButton"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="RhtC"
                android:layout_alignParentRight="true" />

            <Button
                android:id="@+id/bottom_RightButton"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Rht"
                android:layout_alignParentRight="true" />

        </RelativeLayout>
    </LinearLayout>
</android.support.v7.widget.Toolbar>

3 个答案:

答案 0 :(得分:2)

    <LinearLayout
        android:id="@+id/relativeLayout1"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" >

        <Button
            android:id="@+id/bottom_LeftButton"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Lft"
            android:layout_weight="1"
            android:layout_alignParentLeft="true" />

        <Button
            android:id="@+id/bottom_LeftCenterButton"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="LftC"
            android:layout_weight="1"
            android:layout_alignParentLeft="true" />

        <Button
            android:id="@+id/bottom_CenterButtom"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerInParent="true"
            android:text="Cnt" />

        <Button
            android:id="@+id/bottom_RightCenterButton"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="RhtC"
           android:layout_weight="1"
            android:layout_alignParentRight="true" />

        <Button
            android:id="@+id/bottom_RightButton"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Rht"
            android:layout_weight="1"
            android:layout_alignParentRight="true" />

    </LinearLayout>

答案 1 :(得分:2)

要保持所有按钮的大小相同,您需要将width属性保持为&#34; fill_parent&#34;。下面是工作的xml。 weightsum应该等于你想要使用的按钮数。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >

<LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" 
        android:weightSum="4">

    <Button
        android:id="@+id/button1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="Button" />
    <Button
        android:id="@+id/button2"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="Button" />
    <Button
        android:id="@+id/button3"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="Button" />
    <Button
        android:id="@+id/button4"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="Button" />


    </LinearLayout>

答案 2 :(得分:0)

使用线性布局,然后在按钮中加入“WEIGHT”,因为weight属于linearlayout。