如何在relativeLayout中显示微调器旁边的标签

时间:2013-03-02 03:15:21

标签: android layout spinner relativelayout

我有以下RelativeLayout:

<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:orientation="horizontal" >

<RadioGroup
    <!--stuff-->
</RadioGroup>

<Spinner
android:id="@+id/colour_spinner"
android:layout_width="wrap_content"
    android:layout_height="wrap_content" 
    android:layout_below="@+id/radioGroup1" />

 <TextView
    android:id="@+id/colourLabel"
    android:text="@string/label_colour"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/radioGroup1"
    android:layout_toLeftOf="@+id/colour_spinner"/>

<Spinner
android:id="@+id/country_spinner"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" 
    android:layout_below="@+id/colour_spinner" />

<TextView
    android:id="@+id/countryLabel"
    android:text="@string/label_country"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/colour_spinner"
    android:layout_toLeftOf="@+id/country_spinner"/>

<Spinner
    android:id="@+id/stadium_spinner"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" 
    android:layout_below="@+id/country_spinner" />

<TextView
    android:id="@+id/stadiumLabel"
    android:text="@string/label_stadium"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/country_spinner"
    android:layout_toLeftOf="@+id/stadium_spinner"/>

希望我在这里尝试做的很明显。三个旋转器,每个都在前一个下方,每个左侧都有一个标签,理想情况下整齐排列。

我现在得到的结果是,只有微调器显示在屏幕上,我根本没有文字标签。我在这做错了什么?我怀疑这与我的布局宽度/高度设置有关吗?

2 个答案:

答案 0 :(得分:6)

将每个微调器和标签括在水平LinearLayout中:

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

<RadioGroup
    android:id="@+id/radioGroup"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" >

    <!-- stuff -->
</RadioGroup>

<LinearLayout
    android:id="@+id/spinner1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/radioGroup"
    android:orientation="horizontal" >

    <TextView
        android:id="@+id/colourLabel"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/label_colour" />

    <Spinner
        android:id="@+id/colour_spinner"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1" />
</LinearLayout>

<LinearLayout
    android:id="@+id/spinner2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/spinner1"
    android:orientation="horizontal" >

    <TextView
        android:id="@+id/countryLabel"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="@string/label_country" />

    <Spinner
        android:id="@+id/country_spinner"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1" />
</LinearLayout>

<LinearLayout
    android:id="@+id/spinner3"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/spinner2"
    android:orientation="horizontal" >

    <TextView
        android:id="@+id/stadiumLabel"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/label_stadium" />

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

</LinearLayout>

</RelativeLayout>

答案 1 :(得分:0)

试试这个:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="horizontal" >

    <RadioGroup
        android:id="@+id/radioGroup1"
        android:layout_width="wrap_content"
        android:layout_height="50dip" >
    </RadioGroup>

    <TextView
        android:id="@+id/colourLabel"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/radioGroup1"
        android:text="label_colour"
        android:textColor="@android:color/white" />

    <Spinner
        android:id="@+id/colour_spinner"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/radioGroup1"
        android:layout_toRightOf="@+id/colourLabel" />

    <TextView
        android:id="@+id/countryLabel"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/colour_spinner"
        android:text="label_country"
        android:textColor="@android:color/white" />

    <Spinner
        android:id="@+id/country_spinner"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/colour_spinner"
        android:layout_toRightOf="@+id/countryLabel" />

    <TextView
        android:id="@+id/stadiumLabel"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/country_spinner"
        android:text="label_stadium" />

    <Spinner
        android:id="@+id/stadium_spinner"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/country_spinner"
        android:layout_toRightOf="@+id/stadiumLabel" />

</RelativeLayout>