我使用以下代码创建了一个ExpandableListView:
<ExpandableListView
android:id="@+id/android:list"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_marginTop="5dp"
android:layout_weight="1"
android:cacheColorHint="#00000000" /> <!-- This last line fixes a bug with a black background when scrolling through the list -->
定义父行的xml是:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<TextView
android:id="@+id/childname"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="40dp"
android:textSize="20sp" />
</LinearLayout>
最后,定义子行的xml是:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:weightSum="1" >
<TextView
android:id="@+id/childname"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginLeft="60dp"
android:layout_weight="0.80"
android:focusable="false"
android:textSize="14sp" />
<CheckBox
android:id="@+id/check1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="right"
android:layout_weight="0.2"
android:focusable="false" />
</LinearLayout>
我想要完成的是将CheckBox放在屏幕的最右侧。 在设计时,在eclipse中,元素实际上是在右边。但是当我在手机中安装它时,它不是。
以下是结果的屏幕截图:http://img444.imageshack.us/img444/584/97598265.png
任何想法可能出错?
此致 菲利普
更新 根据建议,这就是我的工作:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<TextView
android:id="@+id/childname"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="60dp"
android:focusable="false"
android:layout_centerVertical="true"
android:textSize="14sp" />
<CheckBox
android:id="@+id/check1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:focusable="false" />
</RelativeLayout>
答案 0 :(得分:1)
使用relativeLayout进行正确对齐
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:weightSum="1" >
<TextView
android:id="@+id/childname"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginLeft="60dp"
android:layout_weight="0.80"
android:focusable="false"
android:textSize="14sp" />
<CheckBox
android:id="@+id/check1"
android:layout_alignParentRight="true"
android:layout_alignBottom="@id/childname"
android:layout_toRightOf="@id/childname"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="right"
android:layout_weight="0.2"
android:focusable="false" />