codenameone - 如何处理组件中的水平指针移动和父容器中的垂直指针移动
问题描述
我实际上之前问过这个问题,但没有得到满意的答案——所以我会尝试以不同的方式提出这个问题。
当 BoxLayout.X 容器嵌套在 BoxLayout.Y 容器中时,可以双向滚动,并且在某个阈值之后,它会保持垂直或水平移动。
我想要的是与组件相同的行为,其中组件衍生品使用 BoxLayout.Y 嵌套在容器中。组件衍生品和它嵌套的容器都应该处理指针移动——组件处理水平移动,容器处理垂直指针移动——直到指针移动了一定距离,然后它应该锁定垂直移动或水平移动,就像它已经可以与嵌套的 Container 组件一起使用一样。
这将极大地增强用户体验,因为 Codename One 开箱即用,例如垂直拖动开关不起作用,因为它会吞噬所有指针事件,不仅是水平移动,而且是所有这些事件。现在 - 上述期望的行为似乎很难实现,因为不能将指针移动事件委托给父容器。
关于如何做到这一点的任何想法?
解决方案
显然,当 Component pointer
* 方法未被覆盖或覆盖方法调用超级方法时,默认滚动功能有效。
在 Codename One Switch 组件中,父容器的垂直滚动不起作用,因为它只是覆盖了 Component 的 pointer* 方法。请参阅issue 2645中的相应错误
推荐阅读
- javascript - 无法在 Vuejs 中获得猫鼬查询的响应,但可以使用邮递员请求
- amazon-web-services - 在未知终止失败后从 EMR 节点检索日志文件?
- java - Java transferTo(out) 在每个字符之后而不是在按 Enter 之后回复
- javascript - Leaflet中具有高亮特征的多边形
- vuejs2 - 默认在延迟加载模式下扩展元素 UI 树 - Vue
- r - 如何在同一字符串中使用值和“文本”进行注释:ggplot2
- sql - 有没有一种方法可以从 DBMS 方面验证表中是否已经检查了“布尔”列(true)但仅针对行的子集
- javascript - 使用 innerHTML 添加 HTML 元素时管理它们的顺序
- python - 当我尝试查找特定行时,保存在显示空值的变量上的文本
- html - Firefox 在标签之间添加水平间距