0

これらのビューの配置に問題があります。以下のようにしたいです。2 つのラジオ ボタン (rb_) と、最初のラジオの横に編集テキスト (et_)、2 番目のラジオの横に展開可能なリスト ビュー (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
<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 に答える
0

主な問題である Radio Group 内に Relative Layout を含めました。それが、このように振る舞う理由です。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>

ラジオボタンでそれらをしたい場合は、このようにすることができますが、常に注意すべきことの1つは、ラジオボタンの高さと右のそれぞれのビューを一致させることです

<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 に答える