Flutter InkWell 样式残留问题

发布于 1周前 作者 gougou168 来自 Flutter

大佬们,这个 flutter 的 InkWell 点击后路由跳转,有两个问题怎么解决呀。

  1. 点击的时候 涟漪动画 还没动一下就跳转了
  2. 跳转后再返回,这个时候动画好像停留在 最后一刻。。。

这是对应的代码,我还单独加了个 Future.delayed ,让动画执行一点,要不然就很难看到动画

https://github.com/luke358/RandomDiary_Flutter/blob/d35689abe5f2db7a09fe0039ba60b5e4800f33a4/lib/ui/diary_list.dart#L187


Flutter InkWell 样式残留问题

更多关于Flutter InkWell 样式残留问题的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html

4 回复

路由跳转的时候会阻塞 InkWell 的动画吗?有没有其他解决方案呢

更多关于Flutter InkWell 样式残留问题的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


没有跳转也是一样的,官方的设计应该是手指长按才会有效果,短按不会触发动画

我也是暂时用 delayed 延迟,不知道正确的做法是啥。

针对Flutter中InkWell样式残留问题,这通常涉及到InkWell的交互反馈效果,如点击后的水波纹(splash)和高亮(highlight)效果。以下是一些可能的解决方案:

  1. 检查Splash和Highlight颜色

    • 确保splashColorhighlightColor属性设置正确。如果颜色过于浓烈或透明度过低,可能会导致视觉效果残留。
  2. 确保InkWell事件处理正常

    • 验证onTaponDoubleTaponLongPress等事件回调函数是否正常工作。如果事件处理不当,可能会导致反馈效果未能及时清除。
  3. 检查容器层级和大小

    • 确保InkWell的父容器(如Container)大小足够,且没有其他小部件覆盖InkWell,这会影响InkWell的点击效果和反馈显示。
  4. 避免过度使用InkWell

    • 虽然InkWell提供了丰富的交互效果,但过度使用可能会影响性能,并可能导致视觉残留问题。在必要时才使用InkWell,并考虑使用其他轻量级组件。
  5. 更新Flutter版本

    • 如果问题依旧存在,尝试更新Flutter到最新版本。新版本可能修复了旧版本中的bug,包括InkWell的样式残留问题。

如果以上方法都不能解决问题,建议查阅Flutter官方文档或社区论坛,以获取更多帮助。

回到顶部