BottomSheetBehaviour setstate没有动画

Fun*_*evs 16 android android-design-library android-coordinatorlayout bottom-sheet

我已经尝试了新BottomSheetBehaviour的设计库23.0.2,但我认为它太有限了.当我用setState()方法更改状态时,底部图片使用广告动画移动到新状态.

如何在没有动画的情况下立即更改状态?我没有看到公开的方法来做到这一点.

Via*_*lav 6

不幸的是,看起来你不能。BottomSheetBehavior的调用setState以 的同步或异步调用结束startSettlingAnimation(child, state)。并且没有办法覆盖这些方法的行为,因为它setState是最终的并且startSettlingAnimation具有包可见修饰符。检查来源以获取更多信息。

我也遇到了同样的问题,但方式有点不同——setHideable在调用解决动画之前,我的 UI 状态更改为 false,所以我就到了IllegalStateException那里。我会考虑使用 来BottomSheetCallback正确管理它。

  • 当我调用 setState() 来展开时,我得到了动画,但我没有得到 STATE_COLLAPSED 的动画。这让我很困惑。 (3认同)