Текст под RadioButtons

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

O text1 O text2 O text3 O text4

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

O O O O

надпись1 надпись2 надпись3 надпись4

3 ответов


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


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

код android:drawablePadding="-20dp" не требуется.

вы добавляете свой собственный селектор drawable здесь: 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>

более простое решение с 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>