gpt4 book ai didi

blackberry - 如何使 Horizo​​ntal Field Manager 在 BlackBerry 中可点击?

转载 作者:行者123 更新时间:2023-12-05 01:29:56 27 4
gpt4 key购买 nike

我正在 BlackBerry 中开发一个应用程序,我有很多 HorizontalFieldManager s 填充了如下图所示的组件:

My HorizontalFieldManager filled with components

而且我要加很多HorizontalFieldManager就像这些在 for 中动态填充的循环。放在一起时,它看起来像列表中的一行。到目前为止,我已经能够做到这一点。

但问题是,用户应该能够像这样单击“行” .但作为HorizontalFieldManager不可聚焦或可点击,并且因为它内部有 4 个组件并且所有 4 个组件都同样重要,所以我无法找出一种方法来做到这一点。

那么任何人都可以建议一种方法来做我正在尝试的事情吗?基本上,用户应该能够单击图像中显示的“行”。此“行”​​由许多组件组成(2 HorizontalFieldManager s、1 VerticalFieldManager、1 BitmapField 和 3 LabelFields)。

非常感谢任何帮助!

最佳答案

BBdev 直接回答了你的问题,但是正如你所注意到的,性能很慢。这是因为使用管理器来消除数百行像这样会给 UI 的布局步骤增加很多开销。每次屏幕上发生变化时——包括每次添加新行时,布局都会针对所有这些管理器运行。这基本上是二次的。

加快速度的方法是使用 ListField反而。 ListField 的一个痛点是你必须直接进行绘图,而不是依赖于标准的 OS 字段。但优点是 ListField 执行得非常快——每一行都有一个固定的高度,所以 ListField 可以快速确定哪些行是可见的,然后只为那些行调用绘制代码。

这意味着工作按 field 的可见大小而不是 field 的虚拟大小进行缩放。这是编写 UI 代码时非常需要维护的属性,因为 UI 的虚拟深度没有边界,但物理屏幕具有固定数量的像素,因此通过使用 UI 的可见部分缩放工作,您可以维护很棒的表演。

关于blackberry - 如何使 Horizo​​ntal Field Manager 在 BlackBerry 中可点击?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10041607/

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