J'ai créé un bouton à bascule animé comme quelqu'un l'a fait en this SO question. Cela fonctionne bien mais il y a un petit problème, quand la mise en page est créée, mon arrière-plan du bouton bascule est la première image de l'animation retirable (ça devrait être sa dernière image). Une fois que je l'ai tapé pour la première fois, cela fonctionne correctement.comment mettre en place un bouton à bascule animé en android
EDIT: toggle_pause_anim.xml:
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
android:oneshot="true" >
<item
android:drawable="@drawable/pause1"
android:duration="50"/>
...
<item
android:drawable="@drawable/pause20"
android:duration="50"/>
</animation-list>
toggle_pause_anim.xml:
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
android:oneshot="true" >
<item
android:drawable="@drawable/play1"
android:duration="50"/>
...
<item
android:drawable="@drawable/pause20"
android:duration="50"/>
</animation-list>
toggle_play_pause_anim.xml:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/toggle_play_anim" android:state_checked="false"/>
<item android:drawable="@drawable/toggle_pause_anim" android:state_checked="true"/>
</selector>
toggle_play_pause_bg:
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+android:id/background"
android:drawable="@android:color/transparent"/>
<item
android:id="@+android:id/toggle"
android:drawable="@drawable/toggle_play_pause_anim"/>
</layer-list>
ToggleButton
dans mon layout.xml:
<ToggleButton
android:id="@+id/play_pause"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/toggle_play_pause_bg"
android:textOff=""
android:textOn="" />
Et non, je ne vérifié ensemble à faux sur créer.
Here Est une vidéo de ce que je reçois. Le problème est lorsque la mise en page est d'abord chargée (l'icône doit être en lecture, pas en pause). Comme vous le voyez, après le premier changement, cela fonctionne correctement par la suite.
J'ai modifié ma question, il y a mon code – MamadTell