Android: RadioButton во вложенном макете в RadioGroup выпадает из группы

Я пытаюсь получить какое-то разумное позиционирование моих радиокнопок, которые являются частью RadioGroup. У меня были проблемы, так как моя RadioGroup находилась поверх остальной части моего дизайна макета, затем я использовал поля, чтобы нажимать кнопки, проблема здесь в том, что это работает только на одном или двух макетах устройств. Я подумал, что наткнулся на золото, когда обнаружил, что могу определить свою RadioGroup, а затем поместить RelativeLayout ниже, который, среди прочего, содержит один из RadioButtons, затем я повторяю еще дважды. это дает мне желаемый макет. Проблема в том, что когда я запускаю код, RadioButtons действуют как отдельные кнопки :(

Итак, два вопроса:

  • могу ли я связать эти кнопки обратно с группой?

  • Есть ли достойный способ определить расположение радиокнопок RadioGroup независимо от группы.

Я думаю, что альтернативой могут быть независимые RadioButtons и использование кода для их включения/отключения, но это как бы сводит на нет полезность RadioGroup.

спасибо.

Вот мой макет XML, если вам интересно:

    <ScrollView android:id="@+id/scrollview"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"

       android:layout_below="@id/HDDResultsBox"
        >   

    <RelativeLayout 
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" 
    android:focusable="true" 
    android:focusableInTouchMode="true"
    android:windowSoftInputMode="stateHidden"
    > 


    <RadioGroup android:id="@+id/calcBy"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:focusable="true" 
        android:focusableInTouchMode="true"
        android:layout_below="@id/HDDResultsBox"

        >

  <RelativeLayout android:id="@+id/intervalBox"
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       android:background="@drawable/backgroundbox"
       android:layout_margin="5dp"
       android:padding="5dp"


        >
          <TextView  android:id="@+id/intervalHeader"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Interval"
            android:gravity="left"
            android:textColor="#ffffff"
            android:textStyle="bold"
            android:layout_marginLeft="5dp"
            />    

         <TextView  android:id="@+id/intervalHelpText"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Interval help text"
            android:gravity="left"
            android:textColor="#ffffff"
            android:textSize="8dp"
            android:layout_toRightOf="@id/intervalHeader"
            android:layout_marginLeft="10dp"
            /> 

           <LinearLayout  android:id="@+id/interval2ndBox"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:layout_below="@id/intervalHeader"
            android:layout_marginLeft="10dp"
            >
                <RadioButton android:id="@+id/byInterval"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="2dp"
                    />

                <EditText  android:id="@+id/intervalValue"
                    android:layout_width="75dp"
                    android:layout_height="40dp"
                    android:text="50"
                    android:textSize="14sp"
                    android:gravity="center"
                    android:inputType="number" 
                    android:layout_marginLeft="20dp"
                    />    

                <Spinner android:id="@+id/intervalType"
                    android:layout_width="match_parent"
                    android:layout_height="42dp"
                    android:drawSelectorOnTop="false"
                    android:layout_marginTop="1dp"
                    android:layout_marginLeft="10dp"
                    android:layout_weight="10"
               android:layout_marginRight="2dp"
                    /> 

              <SeekBar android:id="@+id/intervalSeek"
               android:layout_width="match_parent"
               android:layout_height="wrap_content"
               android:max="100"
               android:progress="50"
               android:layout_marginLeft="5dp"
               android:layout_marginRight="5dp"
               android:layout_marginTop="8dp"
               android:layout_weight="7"
           /> 
            </LinearLayout>  

        </RelativeLayout>


 <RelativeLayout android:id="@+id/recordBox"
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       android:background="@drawable/backgroundbox"
       android:layout_margin="5dp"
       android:padding="5dp"


        >
          <TextView  android:id="@+id/recordHeader"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Record Duration"
            android:gravity="left"
            android:textColor="#ffffff"
            android:textStyle="bold"
            android:layout_marginLeft="5dp"
            />    

         <TextView  android:id="@+id/recordHelpText"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Record help text"
            android:gravity="left"
            android:textColor="#ffffff"
            android:textSize="8dp"
            android:layout_toRightOf="@id/recordHeader"
            android:layout_marginLeft="10dp"
            /> 

           <LinearLayout  android:id="@+id/record2ndBox"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:layout_below="@id/recordHeader"
            android:layout_marginLeft="10dp"
            >
                <RadioButton android:id="@+id/byrecord"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="2dp"
                    />

                <EditText  android:id="@+id/recordValue"
                    android:layout_width="75dp"
                    android:layout_height="40dp"
                    android:text="50"
                    android:textSize="14sp"
                    android:gravity="center"
                    android:inputType="number" 
                    android:layout_marginLeft="20dp"
                    />    

                <Spinner android:id="@+id/recordType"
                    android:layout_width="match_parent"
                    android:layout_height="42dp"
                    android:drawSelectorOnTop="false"
                    android:layout_marginTop="1dp"
                    android:layout_marginLeft="10dp"
                    android:layout_weight="10"
               android:layout_marginRight="2dp"
                    /> 

              <SeekBar android:id="@+id/recordSeek"
               android:layout_width="match_parent"
               android:layout_height="wrap_content"
               android:max="100"
               android:progress="50"
               android:layout_marginLeft="5dp"
               android:layout_marginRight="5dp"
               android:layout_marginTop="8dp"
               android:layout_weight="7"
           /> 
            </LinearLayout>  

        </RelativeLayout>

 <RelativeLayout android:id="@+id/playBackBox"
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       android:background="@drawable/backgroundbox"
       android:layout_margin="5dp"
       android:padding="5dp"


        >
          <TextView  android:id="@+id/playBackHeader"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Video Length"
            android:gravity="left"
            android:textColor="#ffffff"
            android:textStyle="bold"
            android:layout_marginLeft="5dp"
            />    

         <TextView  android:id="@+id/playBackHelpText"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="playBack help text"
            android:gravity="left"
            android:textColor="#ffffff"
            android:textSize="8dp"
            android:layout_toRightOf="@id/playBackHeader"
            android:layout_marginLeft="10dp"
            /> 

           <LinearLayout  android:id="@+id/playBack2ndBox"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:layout_below="@id/playBackHeader"
            android:layout_marginLeft="10dp"
            >
                <RadioButton android:id="@+id/byplayBack"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="2dp"
                    />

                <EditText  android:id="@+id/playBackValue"
                    android:layout_width="75dp"
                    android:layout_height="40dp"
                    android:text="50"
                    android:textSize="14sp"
                    android:gravity="center"
                    android:inputType="number" 
                    android:layout_marginLeft="20dp"
                    />    

                <Spinner android:id="@+id/playBackType"
                    android:layout_width="match_parent"
                    android:layout_height="42dp"
                    android:drawSelectorOnTop="false"
                    android:layout_marginTop="1dp"
                    android:layout_marginLeft="10dp"
                    android:layout_weight="10"
               android:layout_marginRight="2dp"
                    /> 

              <SeekBar android:id="@+id/playBackSeek"
               android:layout_width="match_parent"
               android:layout_height="wrap_content"
               android:max="100"
               android:progress="50"
               android:layout_marginLeft="5dp"
               android:layout_marginRight="5dp"
               android:layout_marginTop="8dp"
               android:layout_weight="7"
           /> 
            </LinearLayout>  

        </RelativeLayout>    


    </RadioGroup>           
</RelativeLayout>
        </ScrollView>
7
задан Purplemonkey 24 March 2012 в 12:43
поделиться