убрать флажок переключателя по умолчанию при использовании пользовательского селектора

Я пытаюсь стилизовать радио-кнопку, и поэтому я создал селектор. Все работает, кроме стандартного изображения переключателя все еще отображается. Как снять флажок переключателя по умолчанию. Я пытался присвоить drawable пустой строке, но компилятору это не нравится.

Вот код одного из моих состояний селектора:

<item android:state_checked="true" android:drawable="">
    <shape>
        <gradient
            android:startColor="#808080"
            android:centerColor="#2F2F2F"
            android:endColor="#2F2F2F"
            android:angle="270" />
        <stroke
            android:width="2dp"
            android:color="@color/black" />
        <corners
            android:radius="5dp" />
    </shape>
</item>
 Kevin Westwood15 февр. 2012 г., 22:20
Я действительно обнаружил, что могу снять флажок по умолчанию со следующимandroid:button="@null"
 Flynn15 февр. 2012 г., 18:28
Почему вы пытаетесь убрать отрисовку все вместе? Можете ли вы заменить его на то, что соответствует вашим потребностям?
 Kevin Westwood15 февр. 2012 г., 20:13
Я хочу функциональность переключателя, но хочу, чтобы он выглядел как кнопка. В частности, я хочу иметь две кнопки рядом друг с другом. Одна из кнопок появляется вниз, а другая вверх. Есть ли лучшее решение, чем куда я направляюсь?

Ответы на вопрос(3)

мно, то вы можете установить его следующим образом:

radioButton.setButtonDrawable(null);
radioButton.setBackgroundResource(R.drawable.your_custom_drawable);

Установите значение кнопки равным нулю в макете XML

android:button="@null"
 Kevin Westwood25 июл. 2013 г., 21:33
Спасибо за Ваш ответ. Я также нашел это, как вы можете видеть из моего комментария от 15 февраля 2012 года в моем вопросе.
Решение Вопроса

что не могу снять флажок по умолчанию с переключателем в селекторе. , что его можно удалить, присвоив нулевому свойству «button» либо стиль, либо определение самой кнопки.

Вот пример использования стиля.

<RadioButton
    android:id="@+id/myRadioButton"
    style="@style/RadioButtonStyle"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/custom_radio_button"/>

<style name="RadioButtonStyle" parent="@android:style/Widget.CompoundButton">
    <item name="android:background">@drawable/radiobutton_selector</item>
    <item name="android:button">@null</item>
</style>

radiobutton_selector определяет селектор, который рисует кнопку в ее различных проверенных состояниях. Вот проверенное состояние:

<item android:state_checked="true">
    <shape>
        <gradient
            android:startColor="@color/titleButtonCheckedGradientLight"
            android:centerColor="@color/titleButtonCheckedGradientDark"
            android:endColor="@color/titleButtonCheckedGradientDark"
            android:angle="270" />
        <stroke
            android:width="1dp"
            android:color="@color/titleButtonBorder" />
        <corners
            android:radius="5dp" />
    </shape>
</item>
 Devon01 авг. 2017 г., 15:12
лучший ответ на данный момент
 Prativa18 дек. 2012 г., 13:12
кажется, ваш код не получает функцию radioGroup.getCheckedRadioButtonId () .........

Ваш ответ на вопрос