所以我有一个ExpandableListView,基本上我有一些文本(人的名字),然后我想在同一行上的一个按钮(如果可能的话,向右侧)。目前,这个代码在我的XML文件中有一行文本,然后是下一行的按钮,我已经玩过它但是无法弄清楚如何在一行上得到它。
LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="55dip"
android:orientation="horizontal"
android:weightSum="1" >
<TextView
android:id="@+id/lblListItem"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="17dp"
android:paddingTop="5dp"
android:paddingBottom="5dp"
android:paddingLeft="?android:attr/expandableListPreferredChildPaddingLeft" />
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:focusable="false"
android:focusableInTouchMode="false"
android:layout_weight="0.8"
android:textSize="11dp"
android:text="Checkout"
android:id="@+id/checkout" />
</LinearLayout>
答案 0 :(得分:2)
这样就可以了。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="55dip"
android:orientation="horizintal" // Edited here
androi:weightSum="1" > // here
<TextView
android:id="@+id/lblListItem"
android:layout_width="match_parent" //and here
android:layout_height="35dp"
android:focusable="false"
android:focusableInTouchMode="false"
android:gravity="center_vertical"
android:layout_weight="0.2" // here
android:paddingLeft="?android:attr/expandableListPreferredChildPaddingLeft" />
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="match_parent" // and here
android:layout_height="wrap_content"
android:focusable="false"
android:focusableInTouchMode="false"
android:layout_weight="0.8" // and here
android:textSize="12dp"
android:text="Checkout"
android:id="@+id/checkout" />
</LinearLayout>
使用weighum时确保2件事
1)如果方向是水平的,那么要连续显示的所有子视图的宽度都需要具有“match_parent”和layout_weight的某个值。
2)0.2将给出母体水平宽度的80%,0.8将给出20%
答案 1 :(得分:1)
你有
android:orientation="vertical"
在您的父LinearLayout
中,从上到下堆叠元素(自然地)。删除该行(因为horizontal
是LinearLayout
的默认方向)。然后,您需要使用weight
或margin
将其放置在您想要的位置。
另一种选择是将LinearLayout
替换为RelativeLayout
。这样您就可以使用android:alignParentRight="true"
上的Button
将其放在屏幕右侧(默认情况下RelativeLayout
将Views
置于左上角。)< / p>