2016-09-28 2 views
1

Я хочу спросить, как мы можем конструировать Radio Group в Android как изображенияStyle Radio Group Android

My Radio Button "Мой стиль"

Я дизайн XML, как это:

<RadioGroup 
     android:layout_below="@+id/btnGroup" 

     android:layout_width="wrap_content" 
     android:layout_height="wrap_content"> 
     <RelativeLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content"> 

      <RadioButton 
       android:id="@+id/rdiEasy" 
       android:text="EASY" 
       android:layout_alignParentLeft="true" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" /> 

      <RadioButton 
       android:id="@+id/rdiMedium" 
       android:text="MEDIUM" 
       android:layout_marginRight="8dp" 
       android:layout_alignParentRight="true" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" /> 

     </RelativeLayout> 
     <RelativeLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content"> 

      <RadioButton 
       android:id="@+id/rdiHard" 
       android:text="HARD" 
       android:layout_alignParentLeft="true" 

       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" /> 

      <RadioButton 
       android:id="@+id/rdiHardest" 
       android:text="HARDEST" 
       android:layout_alignParentRight="true" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" /> 

     </RelativeLayout> 
    </RadioGroup> 

Я использую RadioButtonGroup wrap 2 RelativeLayout, каждый RelativeLayout содержит две кнопки Radio. Но с этим дизайном я не могу выбрать только одну радиокнопку, все еще можно выбрать мульти-переключатель. Так что любой может помочь мне, как дизайн Radio Button с этим дизайном, а только один вариант.

+0

использовать два LinearLayout (горизонтально) внутри LinearLayout с вертикальной ориентацией вместо Relative layout. –

+0

Для вашей информации RadioGroup должна содержать только RadioButton –

+0

Спасибо за ответ, я имею в виду, что у меня есть proplem с режимом выбора RadioGroup! С моим кодом я могу реализовать этот проект, но не только выбрать один вариант (группа Radio Button не работает) – EddyLee

ответ

-1

Я думаю, что это будет работать для вас

https://gist.github.com/ishitcno1/9544243

+0

Я могу реализовать этот дизайн, у меня есть proplem с RadioButtonGroup. Я не могу выбрать только один вариант. Еще можно выбрать несколько опций – EddyLee

+0

Hey EddyLee Я изменил свой код, и он работает, пожалуйста, проверьте его на то же. Теперь он выберет только одно радио. –

+0

Да, я видел ваш код, но у вас есть proplem: у вас есть две RadioButtonGroup; Мне нужна группа переключателей JUST ONE, потому что я хочу только выбрать опцию 1/4. – EddyLee

0

Используйте этот код он работает идеально.

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

    <RadioGroup 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentStart="true" 
     android:layout_alignParentTop="true" 
     android:orientation="horizontal" 
     android:transitionGroup="true"> 

     <LinearLayout 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:orientation="vertical" 
      android:paddingLeft="30dp"> 

      <RadioButton 
       android:id="@+id/rdiEasy" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="Easy" /> 

      <RadioButton 
       android:id="@+id/rdiHard" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="Hard" /> 

     </LinearLayout> 

     <LinearLayout 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:orientation="vertical" 
      android:paddingLeft="30dp"> 

      <RadioButton 
       android:id="@+id/rdiMedium" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_toRightOf="@+id/rdiEasy" 
       android:text="Medium" /> 

      <RadioButton 
       android:id="@+id/rdiHardest" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_toRightOf="@+id/rdiHard" 
       android:text="Hardest" /> 

     </LinearLayout> 
    </RadioGroup> 
</RelativeLayout> 
+0

С вашим кодом все еще есть proplem. оба 4 варианта радио – EddyLee

+0

здесь возникают проблемы из-за линейного макета. Я скоро обновлю. –

0

Попробуйте этот код без использования макетов внутри radiogroup.and пытается достичь желаемого рисунка, установив тяжести, как это и проверить, если переключатель выбран только один или несколько

<RadioGroup 
    android:id="@+id/radioGroup" 
    android:layout_width="500dp" 
    android:layout_height="250dp" 
    android:layout_weight=".07" 
    android:gravity="center"> 


    <RadioButton 
     android:id="@+id/radioButton2" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="left|top" 
     android:layout_marginLeft="5dp" 
     android:text="New RadioButton" /> 

    <RadioButton 
     android:id="@+id/radioButton" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="right|top" 
     android:layout_marginRight="5dp" 
     android:text="New RadioButton" /> 

    <RadioButton 
     android:id="@+id/radioButton4" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="bottom|left" 
     android:layout_marginLeft="5dp" 
     android:text="New RadioButton" /> 

    <RadioButton 
     android:id="@+id/radioButton3" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="bottom|right" 
     android:layout_marginRight="5dp" 
     android:text="New RadioButton" /> 

</RadioGroup> 
Смежные вопросы