我有一个RelativeLayout
,底部有两个并排的按钮。我的目标是将这些按钮并排放置,但填充屏幕宽度。有人能告诉我怎么做吗?
我的布局文件是:
<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:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Left Button"
android:id="@+id/button"
android:layout_alignParentTop="false"
android:layout_weight="1"
android:layout_marginTop="77dp"
android:layout_alignParentLeft="true"
android:layout_alignParentBottom="true"
android:layout_alignParentEnd="false"
android:layout_alignParentStart="false" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Right Button"
android:id="@+id/button2"
android:layout_weight="1"
android:layout_toRightOf="@id/button"
android:layout_alignParentBottom="true"
android:layout_alignParentEnd="false"
android:layout_alignParentStart="false" />
</RelativeLayout>
答案 0 :(得分:12)
将您的按钮放在水平方向的LinearLayout
中。并为按钮分配重量。
这是您的代码,但经过修改。
<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:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity">\
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:orientation="horizontal">
<Button
android:id="@+id/button"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_alignParentTop="false"
android:layout_weight="0.5"
android:text="Left Button"
/>
<Button
android:id="@+id/button2"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.5"
android:text="Right Button"
/>
</LinearLayout>
答案 1 :(得分:9)
<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:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity">
<TextView
android:id="@+id/dummyView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true" />
<Button
android:id="@+id/button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_toLeftOf="@id/dummyView"
android:text="Left Button" />
<Button
android:id="@+id/button2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/dummyView"
android:text="Right Button" />
答案 2 :(得分:1)
这非常简单,如果您在调色板中看到按钮,则可以看到属性:&#34; layout:alignComponent&#34;对齐RelativeLayout中的所有视图非常有用;因此,您可以将button2的左侧与button1的右侧对齐...简单...不需要LinearLayout ......
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Right Button"
android:id="@+id/button2"
android:layout_weight="1"
android:layout_toRightOf="@+id/button"
android:layout_alignParentBottom="false"
android:layout_alignParentEnd="false"
android:layout_alignParentStart="false" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Left Button"
android:id="@+id/button"
android:layout_alignParentTop="false"
android:layout_weight="1"
android:layout_alignParentLeft="false"
android:layout_alignParentBottom="false"
android:layout_alignParentEnd="false"
android:layout_alignParentStart="false"
android:layout_alignTop="@+id/button2" />
答案 3 :(得分:1)
我的目标是将这些按钮并排放置,但填充屏幕宽度。
如果这是你想要的,请使用LinearLayout
android:orientation="horizontal"
,按钮使用android:layout_width="0dp"
,android:weight="1"
,以便占用相同的空间每个按钮。
<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:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
android:orientation="horizontal"
tools:context=".MainActivity">
<Button
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="Left Button"
android:id="@+id/button"
android:layout_alignParentTop="false"
android:layout_weight="1"
android:layout_marginTop="77dp"
android:layout_alignParentLeft="true"
android:layout_alignParentBottom="true"
android:layout_alignParentEnd="false"
android:layout_alignParentStart="false" />
<Button
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="Right Button"
android:id="@+id/button2"
android:layout_weight="1"
android:layout_toRightOf="@id/button"
android:layout_alignParentBottom="true"
android:layout_alignParentEnd="false"
android:layout_alignParentStart="false" />
</RelativeLayout>
答案 4 :(得分:0)
试试这个。
<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:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity" >
<TableRow
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:weightSum="2" >
<Button
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Left Button"
android:id="@+id/button"
android:layout_alignParentTop="false"
android:layout_marginTop="77dp"
android:layout_alignParentLeft="true"
android:layout_alignParentBottom="true"
android:layout_alignParentEnd="false"
android:layout_alignParentStart="false" />
<Button
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="Right Button"
android:id="@+id/button2"
android:layout_weight="1"
android:layout_toRightOf="@id/button"
android:layout_alignParentBottom="true"
android:layout_alignParentEnd="false"
android:layout_alignParentStart="false" />
</TableRow>
</RelativeLayout>