Можно ли изменить значок радиокнопки в группе радиокнопок android



Я хочу, чтобы пользователь моего приложения для android мог установить некоторые параметры. Переключатель идеально подходит для этой ситуации. Однако мне не нравятся переключатели, которые отображаются.



можно ли изменить значок кнопки радио? Например, можно ли создать пользовательский макет для каждой строки и в этом макете ссылаться на мой собственный значок и изменить шрифт и т. д.

516   5  

5 ответов:

Да, это возможно, вы должны определить свой собственный стиль для переключателей, в res / values / styles.XML-код:

<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="CustomTheme" parent="android:Theme">
   <item name="android:radioButtonStyle">@style/RadioButton</item>
</style>
<style name="RadioButton" parent="@android:style/Widget.CompoundButton.RadioButton">
   <item name="android:button">@drawable/radio</item>
</style>
</resources>

'радио' здесь должно быть статусным drawable, радио.XML-код:

    <?xml version="1.0" encoding="utf-8"?>
    <selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_checked="true" android:state_window_focused="false"
        android:drawable="@drawable/radio_hover" />
    <item android:state_checked="false" android:state_window_focused="false"
        android:drawable="@drawable/radio_normal" />
    <item android:state_checked="true" android:state_pressed="true"
        android:drawable="@drawable/radio_active" />
    <item android:state_checked="false" android:state_pressed="true"
        android:drawable="@drawable/radio_active" />
    <item android:state_checked="true" android:state_focused="true"
        android:drawable="@drawable/radio_hover" />
    <item android:state_checked="false" android:state_focused="true"
        android:drawable="@drawable/radio_normal_off" />
    <item android:state_checked="false" android:drawable="@drawable/radio_normal" />
    <item android:state_checked="true" android:drawable="@drawable/radio_hover" />
    </selector>

затем просто примените пользовательскую тему либо ко всему приложению, либо к действиям по вашему выбору.

для получения дополнительной информации о темах и стилях смотрите на http://brainflush.wordpress.com/2009/03/15/understanding-android-themes-and-styles/ это хороший гид.

вы можете поместить пользовательское изображение в radiobutton, как обычная кнопка. для этого создайте один XML-файл в папке drawable е.г

<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/sub_screens_aus_hl" 
    android:state_pressed="true"/>  
<item android:drawable="@drawable/sub_screens_aus" 
    android:state_checked="true"/>  
<item android:drawable="@drawable/sub_screens_aus" 
    android:state_focused="true" />
<item android:drawable="@drawable/sub_screens_aus_dis" />  
</selector> 

здесь вы можете использовать 3 различных изображения для radiobutton

и использовать этот файл для RadioButton, как:

android:button="@drawable/aus"
android:layout_height="120dp"
android:layout_width="wrap_content" 

более простой способ изменить только переключатель-это просто установить селектор для drawable right

<RadioButton
    ...
    android:button="@null"
    android:checked="false"
    android:drawableRight="@drawable/radio_button_selector" />

и селектора:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/ic_checkbox_checked" android:state_checked="true" />
    <item android:drawable="@drawable/ic_checkbox_unchecked" android:state_checked="false" /></selector>

вот и все

да....` из Xml

android:button="@drawable/yourdrawable" 

и от Java

myRadioButton.setButtonDrawable(resourceId or Drawable);

'

вот, наверное, быстрый подход,

enter image description here

С двумя значками, показанными выше, вы должны иметь RadioGroup что-то вроде этого

enter image description here

  • изменить RadioGroupориентация по горизонтали
  • для каждого RadioButtonсвойства, попробуйте дать значок Button под CompoundButton,
  • отрегулируйте прокладку и размер,
  • и установите атрибут фона при проверке.

Comments

    Ничего не найдено.