2014-01-23 2 views
0

У меня есть набор Radio Buttons в RadioGroup. Я создал StateList Drawable, чтобы указать состояние каждой кнопки. Кнопки работают правильно в том, что выбор любого из них будет начинаться с прослушивателей и т. Д. Однако StateList Drawable не работает. Вот соответствующий материал:Пользовательская радиостанция со списком состояний, не меняющаяся

Layout XML с помощью кнопки:

  <RadioButton 
      android:id="@+id/score4" 
      android:layout_width="48dp" 
      android:layout_height="48dp" 
      android:layout_marginBottom="5dp" 
      android:button="@drawable/score_button_selector" /> 

score_button_selector XML:

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 

    <item android:state_checked="true" 
     android:drawable="@drawable/score_bg_2c_on" /> 
    <item android:state_checked="false" 
     android:drawable="@drawable/score_bg_2c_off"/> 

</selector> 

score_bg_2c_off является синяя кнопка:

enter image description here

и score_bg_2c_on является Gree п кнопка:

enter image description here

Синяя кнопка отображается правильно, но при выборе (нажата/щелкнул), зеленый один должен появиться вместо этого. Как я уже сказал, операция кнопки в порядке, я правильно ее понимаю и т. Д. - просто не сменное изменение. Я попробовал state_selected вместо state_checked без лучших результатов.

Любые идеи, почему это не работает, как мне бы хотелось?

Спасибо.

Вот еще несколько данных ... Я достал android:button= и положил его на android:background=.

  <RadioButton 
      android:id="@+id/score4" 
      android:layout_width="48dp" 
      android:layout_height="48dp" 
      android:layout_marginBottom="5dp" 
      android:background="@drawable/score_button_selector" /> 

Таким образом появляется переключатель по умолчанию. Эта кнопка показывает, когда она выбрана (синий внутри кнопки), но фон никогда не изменяется. Я знаю, что он видит score_button_selector, потому что он показывает кнопку с голубым фоном, которая определяется только в drawable.

ответ

0

Ничего хороший проекта чистого не может исправить! Я думаю, что, возможно, большинство времени делает чистым в качестве последнего средства b-4, отправляющего вопрос, является хорошим протоколом. Он очистил эту проблему после преследования призраков в течение 3 дней.

0

Попробуйте этого

<RadioButton 
     android:id="@+id/score4" 
     android:layout_width="48dp" 
     android:layout_height="48dp" 
     android:layout_marginBottom="5dp" 
     android:button="@android:color/transparent" 
     android:background="@drawable/score_button_selector" /> 
+0

Я предполагаю, что вы хотели иметь 'android: button' в последней строке, а не' android: background'. В любом случае, ... нет. – ddk

+0

Я обновил свой код. Нет, последняя строка будет фоновой. Вы должны сделать кнопку прозрачной. –

+0

Еще без радости. Кнопка прозрачная, но фон никогда не изменяется. – ddk

Смежные вопросы