2012-10-21 39 views
6

ho un FrameLayout che voglio applicare drawable di primo piano per via di selezione, sto cercando di attuare "drawSelectorOnTop", ma per un semplice layout diFrameLayout primo piano con selettori

ora il selettore non si applica quando l'utente preme "state_pressed"

ecco il mio codice:

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:foreground="@drawable/cell_background_selector" > 

    <RelativeLayout 
     xmlns:android="http://schemas.android.com/apk/res/android" 

     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:background="#282828" 
     android:paddingBottom="5dp" > 
.. 
...... 
........ 
</RelativeLayout> 
</FrameLayout> 

ecco il mio codice di selezione:

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 

    <item android:drawable="@drawable/video_blank" android:state_pressed="true"/> 
    <item android:drawable="@drawable/fav_show"/> 
</selector> 

entrambe le immagini esistono, ma la FrameLayout applicano sempre al normale drawable stato come un primo piano

risposta

12

vecchia questione, ma è stato il primo colpo su Google quando ho incontrato un problema simile.

Hai un set listener OnClick per FrameLayout? In caso contrario, lo stato premuto non verrà mai utilizzato.