Текст ниже RadioButtons

Мне нужна ваша помощь для решения моей проблемы с макетами. У меня есть 4 RadioButtons, они выглядят как обычно в этой схеме:

O text1   O text2   O text3   O text4

где O - кнопка. Я бы знал, можно ли изменить этот макет таким образом:

                              O      /p >

текст1   текст2   Text3   text4

Ответ 1

Я не думаю, что простой виджет RadioButton может сделать это по умолчанию. Для достижения этого эффекта вам нужно сделать одну из нескольких вещей. Вы можете создать свой собственный класс представления RadioButton, объединив RadioButton и TextView, чтобы у вас был полный контроль над тем, где элементы связаны друг с другом. Или вы можете пропустить это представление и просто использовать два элемента в вашем макете, 1 TextView и один RadioButton (без текста, установленного для него).

Ответ 2

Это решение для установки текста под RadioButtons:

Этот код android:drawablePadding="-20dp" не нужен.

Вы добавили свой собственный селектор, который можно выделить здесь: android: drawableTop = "@drawable/your_Image_Here".

<RadioGroup
        android:id="@+id/RadioGroup1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        android:orientation="horizontal" >

        <RadioButton
            android:id="@+id/Icon1"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:background="@android:color/transparent"
            android:button="@android:color/transparent"
            android:checked="true"
            android:drawablePadding="-20dp"
            android:drawableTop="@drawable/your_Image_Here"
            android:gravity="center"
            android:text="@string/your_Text_Here"
            android:textColor="@color/icons_color" />

        <RadioButton
            android:id="@+id/Icon2"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:background="@android:color/transparent"
            android:button="@android:color/transparent"
            android:drawablePadding="-20dp"
            android:drawableTop="@drawable/your_Image_Here"
            android:gravity="center"
            android:text="@string/your_Text_Here"
            android:textColor="@color/icons_color" />
    </RadioGroup>

Ответ 3

Упрощенное решение с RadioButton по умолчанию:

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

      <RadioButton
          android:id="@+id/radio7"
          android:layout_centerHorizontal="true"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content" />

      <TextView
          android:id="@+id/tvDays7"
          android:text="7 looong days"
          android:layout_centerHorizontal="true"
          android:layout_below="@id/radio7"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content" />

  </RelativeLayout>