0

我无法定位这些视图。我想做下面的事情。我有两个单选按钮 (rb_),第一个单选旁边有一个编辑文本 (et_),第二个旁边有一个可扩展列表视图 (lv_)。

在此处输入图像描述

我尝试了以下代码,但无法实现我想要的,et_new_trip 被推到另一行而不是 rb_create_new 的右侧,lv_old_trip 根本没有显示。知道为什么吗?谢谢。

<RelativeLayout android:id="@+id/rl_trip"
                android:layout_height="wrap_content"
                android:layout_width="match_parent"
                android:layout_alignParentLeft="true"
                android:layout_alignParentTop="true">

    <RadioGroup android:id="@+id/rg_trip_creation"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
    >
        <RadioButton android:id="@+id/rb_create_new"
                     style="@style/WrapContentWidthHeight"
                     android:text="New trip"/>
        <EditText android:id="@+id/et_new_trip"
                  android:layout_height="30dp"
                  android:layout_width="200dp"
                  android:layout_toEndOf="@+id/rb_create_new"
                  android:layout_alignBottom="@+id/rb_create_new"
                  android:text="New Trip name"/>

        <RadioButton android:id="@+id/rb_old_trip"
                     android:layout_height="30dp"
                     android:layout_width="200dp"
                     android:text="Previous trip"/>
        <ExpandableListView
            android:id="@+id/lv_old_trip"
            android:layout_height="30dp"
            android:layout_width="200dp"
            android:layout_alignBottom="@+id/rb_old_trip"
            android:layout_toEndOf="@+id/rb_old_trip"
            />

    </RadioGroup>

</RelativeLayout>
4

2 回答 2

0

您已将相对布局包含在 Radio Group 中,这是主要问题。这就是为什么它的行为如此。删除 Radio Group,您的布局就可以了。

下面是你的布局

  <RelativeLayout
        android:id="@+id/rl_trip"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_marginTop="30dp" >

        <RadioButton
            android:id="@+id/rb_create_new"
            android:layout_width="100dp"
            android:layout_height="wrap_content"
            android:text="New trip" />

        <EditText
            android:id="@+id/et_new_trip"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_toEndOf="@+id/rb_create_new"
            android:layout_toRighttOf="@+id/rb_create_new"
            android:text="New Trip name" />

        <RadioButton
            android:id="@+id/rb_old_trip"
            android:layout_width="150dp"
            android:layout_height="30dp"
            android:layout_below="@+id/rb_create_new"
            android:text="Previous trip" />

        <ExpandableListView
            android:id="@+id/lv_old_trip"
            android:layout_width="200dp"
            android:layout_height="30dp"
            android:layout_alignBottom="@+id/rb_old_trip"
            android:layout_toEndOf="@+id/rb_old_trip" />
    </RelativeLayout>

如果您希望它们在单选按钮中,您可以这样做,但要始终注意的一件事是:匹配单选按钮的高度和右侧的相应视图

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >

    <LinearLayout
        android:id="@+id/rl_trip"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true" >

        <RadioGroup
            android:id="@+id/rg_trip_creation"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
             android:layout_weight="1" >

            <RadioButton
                android:id="@+id/rb_create_new"
                android:layout_width="wrap_content"
                android:layout_height="40dp"
                android:text="New trip" />

            <RadioButton
                android:id="@+id/rb_old_trip"
                android:layout_width="wrap_content"
                android:layout_height="40dp"
                android:text="Previous trip" />
        </RadioGroup>

        <LinearLayout
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:orientation="vertical" >

            <EditText
                android:id="@+id/et_new_trip"
                android:layout_width="wrap_content"
                android:layout_height="40dp"
                android:text="New Trip name" />

            <ExpandableListView
                android:id="@+id/lv_old_trip"
                android:layout_width="wrap_content"
                android:layout_height="40dp"
                android:layout_alignBottom="@+id/rb_old_trip"
                android:layout_toEndOf="@+id/rb_old_trip" />
        </LinearLayout>
    </LinearLayout>

</LinearLayout>
于 2013-09-30T15:54:40.930 回答
0
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >   
    <RadioGroup
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" >

        <RelativeLayout
            android:layout_width="fill_parent"
            android:layout_height="fill_parent" >

            <RadioButton
                android:id="@+id/radioButton1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentLeft="true"
                android:layout_alignParentTop="true"
                android:layout_marginTop="75dp"
                android:text="RadioButton" />

            <RadioButton
                android:id="@+id/radioButton2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentLeft="true"
                android:layout_below="@+id/radioButton1"
                android:layout_marginTop="30dp"
                android:text="RadioButton" />

            <EditText
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignTop="@id/radioButton1"
                android:layout_toRightOf="@id/radioButton1"
                android:hint="et_new" />

            <ExpandableListView
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_alignTop="@id/radioButton2"
                android:layout_toRightOf="@id/radioButton2" >

            </ExpandableListView>
        </RelativeLayout>
    </RadioGroup>
</RelativeLayout>
于 2013-09-30T16:03:31.347 回答