gpt4 book ai didi

Android, 滑动抽屉

转载 作者:太空狗 更新时间:2023-10-29 13:37:25 26 4
gpt4 key购买 nike

我注意到 animateOpen()animateClose()animateToggle() 执行相同的功能,这意味着任何一个其中一个可以替代其他的。
我注意到的唯一区别是动画速度因一种方法而异,如下所示:

  1. animateOpen()打开时的动画比关闭时的动画
  2. animateClose()关闭时的动画比打开时的动画
  3. animateToggle()两种速度相等

所以,我的问题是:
我错过了什么吗?还是我只需要在使用它们之前检查 isOpened()

我问这个问题是因为我在某处写 animateClose() 时提出了这个问题,认为如果滑动抽屉已经关闭则不会采取任何行动,但我发现它行为与 animateToggle() 完全相同。

最佳答案

在两个不同的设备上确认。

  • animateClose() 在已经关闭的抽屉上调用 有时 会激活抽屉打开。
  • animateOpen() 在已打开的抽屉上调用将始终(?)使抽屉动画关闭。

即时函数(closeopen)似乎可以按您预期的那样工作。

鉴于此,我建议子类化 SlidingDrawer 并覆盖打开或关闭抽屉的 5 个方法。使用一些成员变量 bool 值,您应该能够确定抽屉的真实状态并调用(或不调用)适当的父类(super class)方法,相应地更新您的状态。

(可能还需要实现 OnDrawerXxxListener 以保持您的状态正确;我的抽屉仅以编程方式打开和关闭,不使用“句柄”,所以我没有测试.)

编辑添加:这样做的好处是您可以根据子类的状态加上现有的 添加 isOpening()isClosing() >isMoving() 方法。

关于Android, 滑动抽屉,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9157965/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com