10

Ho provato il nuovo BottomSheetBehaviour con la libreria di progettazione 23.0.2 ma penso che sia troppo limitato. Quando cambio stato con il metodo setState(), il foglio di fondo usa l'animazione dell'annuncio per passare al nuovo stato.BottomSheetBehaviour setstate senza animazione

Come posso modificare lo stato immediatamente, senza animazione? Non vedo un metodo pubblico per farlo.

+0

Problema corrispondente su issuetracker Android https://issuetracker.google.com/issues/62124243 –

risposta

1

Purtroppo sembra che tu non possa. L'invocazione di BottomSheetBehavior's setState termina con la chiamata sincrona o asincrona di startSettlingAnimation(child, state). E non c'è modo di ignorare questi metodi, il comportamento causa setState è finale e startSettlingAnimation ha il modificatore del pacchetto visibile. Controlla le fonti per maggiori informazioni.

Ho problemi con lo stesso, ma in un modo un po 'diverso - lo stato dell'interfaccia utente cambia setHideable in modo falso prima che venga richiamata l'animazione di sedimentazione, quindi ho trovato IllegalStateException lì. Prenderò in considerazione l'utilizzo di BottomSheetCallback per gestirlo correttamente.

+0

Quando richiamo setState() per espandere, ottengo l'animazione, ma non lo ottengo per STATE_COLLAPSED. Mi confonde molto. – fobbymaster