You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Kivy应用中动画未遵守ScrollView边界的问题求助

Kivy应用中动画未遵守ScrollView边界的问题求助

我被这个bug卡了快一周了,怎么都搞不定😭。我正在开发一个规模不算小的Kivy应用,大概有十几个文件,其他功能都运行正常,唯独这个动画问题一直解决不了。为了精准定位问题,我把代码精简到只保留复现bug必需的部分,塞进了一个单独的文件——所以你可能会觉得代码结构有点冗余、文件偏长,这都是为了复现问题特意这么做的哈。

项目基础信息

  • 依赖库:kivy
  • 我已经把包含复现所需文件、资源和bug截图的项目整理好了,可通过git@gitlab.com:ninamillik/exampleproject.git克隆获取

问题背景与预期行为

当点击数字按钮时,会创建一个初始高度为0的新数字项插入到数字列表中,之后这个数字项会逐渐展开,直到内部的数字按钮(包括前面的空白占位按钮和后面的撤销按钮)达到完整高度:

  • 当数字列表的高度小于数字列表窗口的高度时(对应kv文件中ScrollView高度的min()设置),列表会居中显示
  • 当列表高度超过窗口高度时,ScrollView会和数字列表窗口等高,同时将scroll_y设为0,允许滚动查看内容

核心问题

当数字列表增长到超过数字列表窗口高度时,DefaultDigitButton组件没有遵守ScrollView的边界——这些按钮会“覆盖”在数字窗口的边框上面(参考项目中的截图)。

补充细节

  • 这个异常行为只针对DefaultDigitButton组件,其他组件不受影响
  • 只要触发以下任意操作,那些越界的DefaultDigitButton会立刻恢复正常显示:
    • 滚动数字列表
    • 按下(未松开)任意数字按钮

真的非常感谢任何能提供思路或者解决方案的朋友!🙏

备注:内容来源于stack exchange,提问作者Nina Milliken

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.14 15:29:51