我的布局如下图所示。但理想情况下,我希望按钮“保存”和“取消”各自为50%宽度,彼此相邻。似乎无法让他们工作。
有什么建议吗?
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="wrap_content"
android:layout_height="match_parent" >
<Button
android:id="@+id/btnMinus"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:text="-" />
<EditText
android:id="@+id/txtCount"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/btnPlus"
android:layout_alignParentTop="true"
android:layout_toLeftOf="@+id/btnPlus"
android:layout_toRightOf="@+id/btnMinus"
android:ems="10"
android:inputType="number" >
<requestFocus />
</EditText>
<Button
android:id="@+id/btnPlus"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:text="+" />
<Button
android:id="@+id/btnGo"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/btnMinus"
android:layout_toRightOf="@+id/button1"
android:maxWidth="100dp"
android:text="Save"
android:width="100dp" />
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/btnMinus"
android:text="Cancel" />
</RelativeLayout>
答案 0 :(得分:5)
您不应该在此设计中使用RelativeLayout
。您应该使用LinearLayout
。
像这个大纲(非常精简):
<LinearLayout android:orientation=vertical>
<LinearLayout android:orientation=horizontal>
<Button android:layout_width=100 /> <!-- Minus -->
<EditText android:layout_width=0 android:layout_weight=1 />
<Button android:layout_width=100 /> <!-- Plus -->
</LinearLayout>
<LinearLayout android:orientation=horizontal>
<Button android:layout_width=0 android:layout_weight=1 /> <!-- Cancel -->
<Button android:layout_width=0 android:layout_weight=1 /> <!-- Save -->
</LinearLayout>
</LinearLayout>
答案 1 :(得分:1)
您正在寻找android:layout_weight="0.5"
。但这仅适用于LinearLayouts。
所以你可以做的是添加一个包含两个按钮的LinearLayout然后设置权重。
答案 2 :(得分:1)
您应该在LinearLayout
内使用RelativeLayout
仅用于按钮,并为它们提供相同的android:layout_weight
(1和1,2和2,如您所愿)。< / p>