【问题标题】:Temporarily disable animation on Lollipop CheckBox暂时禁用 Lollipop CheckBox 上的动画
【发布时间】:2016-02-25 21:34:07
【问题描述】:

我有一个 ListView,其中的行包含 CheckBox。此 ListView 附加了过滤行为,它通过设置新数据(通过简单的setData() 方法)在过滤条件更改时回收这些行。发生这种情况时,任何具有checked 状态更改的回收行都将更新其 CheckBox,这反过来会触发 CheckBox 的棒棒糖动画被拉入或拉出。

分散用户注意力的方式有很多。当以编程方式更新其状态时,如何暂时禁用此动画?

【问题讨论】:

  • 也许在设置状态后尝试调用clearAnimation
  • 没有骰子。根据我在类似问题中阅读的内容,该动画不是一流的 Android 动画,而是 Lollipop API 中相关视图的样式的一部分。操纵动画效果的失败尝试似乎支持了这一点。
  • 在 Reyclerview 上有同样的问题。动画导致滚动滞后,因为默认情况下可以检查列表中的许多复选框,并且 bindviewholder 在您滚动的同时触发所有这些动画..

标签: android checkbox android-5.0-lollipop


【解决方案1】:

在调用 setChecked 后立即在 CheckBox 上调用 jumpDrawablesToCurrentState() 将跳过动画。

【讨论】:

【解决方案2】:

试试这个

<CheckBox
    
    **android:background="@android:color/transparent"

    **android:clickable="false"

    android:id="@+id/login_access_tick"
    
    android:layout_width="wrap_content"
    
    android:layout_height="wrap_content"/>

希望对你有帮助。谢谢

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-09-27
    • 1970-01-01
    • 1970-01-01
    • 2011-06-13
    相关资源
    最近更新 更多