我在线性布局(水平)中并排有2个按钮(左右)。如果右边是空白的话我想留下占据所有的空间。如果右边有内容,我希望它坚持到右边,然后留下尽可能多的剩余空间。我该怎么做?
我很确定我必须使用线性布局,因为相对布局会导致重叠。
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:orientation="horizontal" >
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:ellipsize="end"
android:singleLine="true"
android:text="this text takes priority and kicks everything off screen (not desired behavior)" />
<View
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_weight="1"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="i need this text to take priority over the other button"/>
</LinearLayout>
答案 0 :(得分:1)
RelativeLayout
适用于此。通过alignParent
将两个按钮固定到各自的两侧,并使用toLeftOf
将第一个按钮定位到第二个按钮的左侧 - 您将获得一个灵活的左按钮,它不会与右侧重叠按钮。
<RelativeLayout
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_alignParentLeft="true"
android:layout_toLeftOf="@id/button2"
android:text="Left Button" />
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:text="Right Button"/>
</RelativeLayout>
答案 1 :(得分:0)
这可以通过相对布局轻松实现,并始终建议使用相对布局。只需先创建左边的视图,然后make是包装内容并分别使用匹配父项创建另一个视图。