Android 单选按钮对齐

Android 单选按钮对齐,android,radio-button,Android,Radio Button,我制作了一个水平显示复选框的布局,twolinelistitem垂直地由两个textview、textview和最后一个单选按钮组成,单选按钮必须位于最右边 然而,当我完成它时,不知何故,单选按钮被放得比它应该放得更低了,我不知道如何弄清楚。我将主布局更改为tablelayout,但没有任何更改。如果你不介意的话,你能帮我解决这个问题吗?下面是我的代码和屏幕截图,显示发生了什么 <LinearLayout xmlns:android="http://schemas.android.c

我制作了一个水平显示复选框的布局,twolinelistitem垂直地由两个textview、textview和最后一个单选按钮组成,单选按钮必须位于最右边

然而,当我完成它时,不知何故,单选按钮被放得比它应该放得更低了,我不知道如何弄清楚。我将主布局更改为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>

这是包含问题的屏幕截图:


提前感谢

将这两行放在radioButton标签上

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

将这两行放在radioButton标签上

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

您还应该了解如何避免创建浪费性布局(尤其是在列表/网格中将它们用作项目渲染器时)

根据这一点,您可以重新构造项目布局,并使用更高效的布局,如:

<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>


这也为您提供了所需的输出

您还应该了解如何避免创建浪费性布局(尤其是在列表/网格中将它们用作项目渲染器时)

根据这一点,您可以重新构造项目布局,并使用更高效的布局,如:

<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>


这也为您提供了所需的输出

太谢谢你了,苏娅!!你今天帮了我两次。我真的很感谢你的帮助太谢谢你了,苏里亚!!你今天帮了我两次。我真的很感谢你的帮助D