2015-05-27 16 views
6

Sto sviluppando la mia prima app che fornisce il nuovo aspetto del materiale. Sono un po 'perso con questo quindi sto seguendo alcuni tutorial per implementare cose come Toolbar, Navigation Drawer, ecc. Devo dire che lo sto facendo fornendo compatibilità alle versioni Android pre-lollipop, quindi sto usando librerie di supporto.Effetto a catena sul cassetto di navigazione personalizzato

Cosa concers alla mia domanda, è che ho appena implementato il cassetto di navigazione seguente uno di questi tutorial e utilizzando le seguenti librerie per la compatibilità:

support.v4.widget.DrawerLayout 
support.v7.widget.RecyclerView 

Penso che l'implementazione del codice è troppo lungo per mettere è qui, quindi fornirò il link a questo tutorial, l'ho fatto esattamente come si dice here.

Il mio problema è che, quando seleziono un elemento dalla riga del cassetto di navigazione, esso lo apre perfettamente, ma non mostra alcun effetto di increspatura, o semplicemente alcun effetto tocco, quando lo si tocca. Qualcosa di simile a questo:

enter image description here

ho preso uno sguardo ad alcuni altri tutorial, per esempio, a quello a cui appartiene la gif allegato, per vedere se usano qualsiasi metodo o implementazione di prevedere che EFF a il tocco, ma non viene implementato nulla per ottenere quell'effetto, solo il metodo onclick.

Quindi, cosa c'è di sbagliato con questo codice, e come posso modificarlo, o cosa potrei aggiungere per ottenere quell'effetto?

+0

Quale dispositivo stai testando? Ho sempre progettato i drawable con il ripple specifico per i dispositivi Lollipop, mantenendo la vecchia implementazione 'Selector' per le versioni precedenti. Stai provando su un dispositivo pre-L? – SlashG

+0

@SlashG Sto testando pre-lollipop (KitKat) e lecca lecca (5.0) – masmic

+0

Hai specificato il tema Materiale per la tua app in 'drawable/values-v21/style.xml'? – SlashG

risposta

9

Poiché si utilizza appcompat, è possibile aggiungerlo all'XML per la voce del cassetto di navigazione android:background="?attr/selectableItemBackground".

Questo dovrebbe fornire l'effetto a catena sui dispositivi Lollipop e un'evidenziazione grigio di fallback per i dispositivi meno recenti.

+0

Perfetto, questo è quello che mi serviva! – masmic

+0

Con questo devi aggiungere il tuo colore preferito quando tocchi gli oggetti del cassetto aggiungendo questo al tuo styles.xml ' @ color/ruler' che ha 'AppTheme.NoActionBar' – Asha

Problemi correlati