Radiobuttons对齐

时间:2011-04-22 04:35:18

标签: android radio-button

我正在制作一个水平显示复选框的布局,twolinelistitem垂直由两个textview组成,textview,最后一个必须位于最右边的radiobutton。

然而,当我完成它时,无论如何放射线按钮放置得比它应该更低,我不知道如何弄清楚。我将主要布局更改为tablelayout但没有任何改变。如果你不介意的话,请你帮我解决一下吗?下面是我的代码和截图,以显示发生了什么。


<LinearLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:orientation="horizontal"
  android:layout_width="match_parent"
  android:layout_height="wrap_content">
    <CheckBox android:layout_height="wrap_content" android:layout_width="wrap_content" 
        android:id="@+id/checkBox1" />
    <TwoLineListItem android:id="@+id/twoLineListItem1" 
        android:layout_weight="1"
        android:paddingTop="10px"
        android:layout_width="wrap_content" android:layout_height="wrap_content">
        <TextView android:id="@+id/textView1" 
                android:text="TextView"
                android:layout_width="wrap_content" android:layout_height="wrap_content" 
                android:textAppearance="?android:attr/textAppearanceMedium" />
        <TextView android:id="@+id/textView2" 
                android:text="TextView"
                android:layout_width="wrap_content" android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceSmall" 
                android:paddingTop="30px"/>
    </TwoLineListItem>
    <TextView android:text="TextView" 
        android:id="@+id/textView3" 
        android:layout_weight="1"
        android:layout_width="wrap_content" android:layout_height="wrap_content"
        android:paddingTop="10px"/>
    <RadioButton android:id="@+id/radioButton1" 
            android:gravity="right"
            android:layout_width="wrap_content" android:layout_height="wrap_content" />
</LinearLayout>

这是包含问题的屏幕截图:http://img684.imageshack.us/img684/3979/1134p.jpg

提前致谢

2 个答案:

答案 0 :(得分:4)

将这两行放入radioButton标签

android:gravity="center"
android:layout_gravity="center_vertical"

答案 1 :(得分:1)

您还应该看看Romain Guy's post about android layouts,以及如何不创建浪费的布局(特别是在列表/网格中将它们用作项目渲染器时)。

根据这一点,您可以重新构建项目布局,并使其更有效,例如:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal" android:layout_width="match_parent"
    android:layout_height="wrap_content">
    <CheckBox android:id="@+id/checkBox1"
        android:layout_height="wrap_content" android:layout_width="wrap_content"
        android:layout_alignParentLeft="true" android:layout_centerVertical="true" />
    <RadioButton android:id="@+id/radioButton1"
        android:layout_width="wrap_content" android:layout_height="wrap_content"
        android:layout_alignParentRight="true" android:layout_centerVertical="true" />
    <TextView android:text="@string/label_details" android:id="@+id/textView3"
        android:layout_width="wrap_content" android:layout_height="wrap_content" 
        android:layout_toLeftOf="@id/radioButton1"
        android:layout_centerVertical="true" android:minWidth="50dp" android:maxLines="1" />
    <TextView android:id="@+id/textView1" android:text="@string/loremipsum2"
        android:layout_width="wrap_content" android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:layout_toLeftOf="@id/textView3" android:layout_toRightOf="@id/checkBox1" 
        android:minWidth="50dp" android:maxLines="1" />
    <TextView android:id="@+id/textView2" android:text="@string/loremipsum2"
        android:layout_width="wrap_content" android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceSmall"
        android:layout_alignLeft="@id/textView1" android:layout_alignRight="@id/textView1"
        android:layout_below="@id/textView1" android:minWidth="50dp" android:maxLines="1" />
</RelativeLayout>

它还可以为您提供所需的输出。