2015-02-23 6 views
6

L'effetto di ripple tocco qui si espande oltre i suoi limiti. Come è fatto?Come si ottiene l'effetto a catena per estendere i limiti di visualizzazione passati?

enter image description here

EDIT: Io sono daccordo con questo lavoro solo su 5.0+.

+0

Come sei riuscito a lavorare in questo modo su 5.0+? – Sabre

+0

questo è uno screenshot dall'app Google Keep. Mi chiedo come ottenere che l'effetto a catena non si estenda di seguito, ma si estenda a sinistra | in alto | a destra, come l'app di Google Keep. – ZakTaccardi

risposta

3

L'ho provato, quello che sta succedendo qui è che il ripple non è sui pulsanti, ma sull'oggetto di sfondo. Quindi il ripple non si estende effettivamente oltre i limiti dei pulsanti qui, ma piuttosto si estende ai limiti dell'oggetto della scheda wrapper di sfondo.

Per replicare ciò che si vede nell'immagine,
1. Creare un nuovo layout. Vorrei usare un layout relativo o linearlayout
2. Aggiungere il EditText superiore ("Aggiungi una nota rapida"), e poi i quattro pulsanti in basso, tutti con sfondi chiari, ma con bordi grigi come sopra.
3. Imposta l'animazione ondulazione sullo sfondo del layout in cui inserisci i pulsanti, e assicurati di impostare android:clickable="true" sul tuo layout!

Questo mi ha dato lo stesso effetto della tua foto.

+0

Ma questo non estenderà il ripple al di fuori di "Aggiungi nota rapida". Questo è il limite. –

+1

@AliKazi, corretto, ma penso che sia quello che stava chiedendo. Per estendere ulteriormente il "Aggiungi una nota rapida", si potrebbe semplicemente applicare il ripple più in alto sulla gerarchia della vista, a condizione che siano soddisfatti di sfondi chiari. –

+0

Per me, ho un TabLayout per le schede inferiori e non mostra effetti di ripple anche se imposto 'android: background ="? Android: attr/selectableItemBackgroundBorderless "'. Ora sto facendo qualcosa di nuovo e, se funziona, mi chiedo perché la soluzione che ho in mente non sia stata suggerita come risposta in tutte le domande SO relative a questo finora. –

5

Ho letto da alcuni posti che:

Se si vuole applicare l'effetto di serie ondulazione su Android 5.0: API 21 o più, che non dovrebbe essere limitato alla visualizzazione (ondulazione illimitata), solo si applicano al vostro sfondo vista:

android:background="?android:attr/selectableItemBackgroundBorderless" 
+1

Questo funziona per estendere i limiti di visualizzazione passati, ma per corrispondere a quello che vedo nell'immagine, l'ondulazione deve essere limitata all'area "Aggiungi una nota rapida". –

+0

Come funziona? È possibile personalizzarlo? Forse hai un colore e una taglia diversi, come nell'app Dialer? –

Problemi correlati