Радиокнопка Текст над кнопкой - PullRequest
3 голосов
/ 30 августа 2011

Я пытаюсь создать представление в Android, которое выглядит следующим образом:

Текст

  • Радиокнопка 1
  • ...
  • ...

Я думал, что это было достаточно просто, но по крайней мере в предварительном просмотре макета и эмуляторе я вижу, что текст для RadioButton появляется в верхней части реальной кнопки-переключателя (кружок),см. прикрепленный снимок экрана.Я предполагаю, что это что-то очень тривиальное, но я запутался в гравитации и любых других ситуациях, о которых я могу думать, и ничего.Android 3.1, если это важно.

Вот мой макет:

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:orientation="vertical"
  android:background="@color/white"
  android:layout_width="match_parent"
  android:layout_height="match_parent">

<TextView android:id="@+id/question_text"
    android:textColor="@color/primary_gray"
    android:layout_width="match_parent"
    android:text="XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
        android:layout_height="wrap_content"/>

<RadioGroup android:id="@+id/multiple_choice_one_answer_group"
    android:background="@color/white"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

   <RadioButton
      android:background="@color/primary_gray"
      android:textColor="@color/black"
      android:textSize="10sp"
      android:text="XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" />
</RadioGroup>

</LinearLayout>

Скриншот:

Screwed up radio button

Ответы [ 2 ]

3 голосов
/ 30 августа 2011

Проблема в настройке фона.Если вы удалите фон из RadioButton и сохраните его в RadioGroup, он будет иметь эффект, который вы ищете.В общем, установка фона кнопки на все убирает внешний вид кнопки;попробуйте на обычной кнопке, и вы увидите.Это потому, что фон для кнопки уже настроен на что-то, и вы заменяете его на плоский цвет.

Попробуйте вместо этого:

<RadioGroup android:id="@+id/multiple_choice_one_answer_group"
    android:background="@color/primary_gray"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">
    <RadioButton
        android:textColor="@color/black"
        android:textSize="10sp"
        android:text="XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" />
</RadioGroup>
1 голос
/ 10 июня 2013

Установка фона в коде Java вместо макета также решает эту проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...