2014-11-13 11 views
5

Teraz mam przycisk i pokrętło używało jako tło, selektor mieć pressed i focus stan:Jak uzyskać efekt zanikania po zmianie stanu tła widoku w systemie Android?

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android">  
    <item android:state_pressed="true"   
     android:drawable="@color/item_gray" /> <!-- pressed -->  
    <item android:state_focused="true"   
     android:drawable="@color/item_gray" /> <!-- focused -->  
</selector> 

i przycisk Kod:

<Button 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:background="@drawable/button_selector" 
    android:text="@string/hello_world" /> 

Jest prosty pozwolić przycisk zmienić tło kiedy zmienił się jego stan. A teraz potrzebuję, aby tło zmieniało się piękniej. Dlatego chcę dodać efekt zanikania między zmianami dwóch stanów tła.

Przeszukałem google i wiele dokumentów i przeczytałem kod źródłowy Button, znalazłem, że mogę to zrobić, jeśli I Override the setPressed function.

Mogę znać zmianę stanu w setPressed i narysować dodatkową bitmapę, która będzie odtwarzać animację zaniku. Ale myślę, że to nie jest dobry ideał. Przyszedłem tutaj, by zapytać, czy jest lepszy sposób, aby do niego dotrzeć?

Odpowiedz

11

Spróbuj określić czas Fade In selektora rozciągliwej

<selector xmlns:android="http://schemas.android.com/apk/res/android" 
      android:enterFadeDuration="150" android:exitFadeDuration="150"> 
+0

niesamowite! Dzięki! – zzy

Powiązane problemy