10

Я пробовал новый BottomSheetBehaviour с библиотекой дизайна 23.0.2, но я думаю, что он слишком ограничен. Когда я меняю состояние с помощью метода setState(), в нижней части стола используется анимация объявлений, чтобы перейти в новое состояние.BottomSheetBehaviour setstate без анимации

Как изменить состояние сразу, без анимации? Я не вижу публичного метода для этого.

+0

Соответствующая информация об эмиссии ценных бумаг на компьютере https://issuetracker.google.com/issues/62124243 –

ответ

1

К сожалению, похоже, что вы не можете. Вызов BottomSheetBehaviorsetState завершается синхронным или асинхронным вызовом startSettlingAnimation(child, state). И нет возможности переопределить эти методы поведения, причина setState является окончательной, а startSettlingAnimation имеет модификатор видимости пакета. Проверьте источники для получения дополнительной информации.

У меня проблемы с одним и тем же, но немного по-другому - мое состояние пользовательского интерфейса меняет setHideable на false до того, как эта анимация поселения вызывает, поэтому я получаю IllegalStateException. Я рассмотрю использование BottomSheetCallback для правильного управления этим.

+0

Когда я вызываю setState() для расширения, я получаю анимацию, но я не получаю ее для STATE_COLLAPSED. Это очень смущает меня. – fobbymaster