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

Ниже мой код для Switch:

<Switch
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Do you want the current offer as your final offer"
        android:background="@null"
        android:button="@null"
        android:textOff=""
        android:textOn=""
        android:drawableRight="@drawable/switch"
        android:textSize="16sp"
        android:textColor="#9B9B9B"
        android:id="@+id/switch1"
         />

И вот мой switch.xml

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

   <item
       android:drawable="@drawable/dummy_toggle_off"
       android:state_checked="false" />
   <item
       android:drawable="@drawable/dummy_toggle_on"
       android:state_checked="true" />
   <item
       android:drawable="@drawable/dummy_toggle_off"/>

</selector>

Вот получившиеся изображения:

enter image description here enter image description here

0
Ran94 28 Окт 2015 в 15:24

2 ответа

Лучший ответ

Используйте следующий код для настройки переключателя -

<Switch
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:thumb="@drawable/switch_thumb"
android:track="@drawable/switch_track" />

Здесь switch_thumb - это стиль xml-файла для вашего thumb, а switch_track - ваш xml-стиль для background переключателя. для получения дополнительной информации см. ссылку -

Switch_thumb.xml

<selector>
<item android:drawable="@drawable/your_png_for_thumb">
</item>
</selector>

Switch_track.xml

<selector>
  <item android:drawable="@drawable/your_png_for_track_grey"      
      android:state_checked="true"/>
  <item android:drawable="@drawable/your_png_for_track_blue" 
      android:state_checked="false"/>
</selector>

И вы можете скачать эти png-изображения из Интернета ... ниже находится ссылка, по которой вы можете найти эти png- для поиска значков < / а>

1
Community 23 Май 2017 в 12:08

У меня такая же проблема и я думаю это решение.

В свой переключатель XML добавьте этот код.

android:thumb="@android:color/transparent"
android:track="@android:color/transparent"
android:background="@drawable/yourSelector"
1
coffeeCode 14 Июл 2016 в 20:39