blackberry - 在 9810 + Blackberry 上上下滚动时出现间歇性刷新问题

标签 blackberry java-me

我在 9810 设备和模拟器上遇到屏幕滚动的奇怪问题。 我有一个完整的订单屏幕,在确认用户订单时显示。

在顶部有一个 Vertical Field Manager,它包含另一个 VerticalFieldManager(包含 Label Fields 和 buttonFields)和一个 FlowFieldManager(包含图像)。 现在我面临的问题是,每当我上下滚动屏幕时,屏幕上都会出现许多灰线。设备似乎存在一些屏幕刷新问题。我在以前的操作系统(4.5、4.5 4.7 5.0)版本上进行了测试,一切正常。问题出现在 6.0 以上的操作系统版本上。

Distorted Image

虽然正确的画面一定是这样的

Correct Image

如您所见,每当我上下滚动屏幕时,就会出现这些灰色线条。有什么想法可以解决这个问题吗?

最佳答案

在第一张图片中,您似乎正试图在屏幕顶部添加阴影效果。垂直字段管理器使用一些图形优化来提高滚动性能。它不是重新绘制所有内容,而是拾取布局区域中屏幕上的像素,并移动它们。只要所有绘画代码都与虚拟范围相关,这就有效。

某些 UI 效果,如阴影效果,是相对于屏幕的,而不是虚拟范围,因此此优化会拾取这些效果并将它们复制到其他地方,这看起来很糟糕。它也往往看起来就像您的第一张图片。

有两种方法可以解决这个问题:

  1. 关闭优化。覆盖 isScrollCopyable返回假。您的视觉问题应该会消失,但滚动性能会受到影响。

  2. 不要在可滚动区域的顶部添加 UI 效果。

关于blackberry - 在 9810 + Blackberry 上上下滚动时出现间歇性刷新问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9955032/

相关文章:

java - 自定义 ListField 黑莓

memory-management - 黑莓内存管理

java - 带有 JavaME 的 org.json 在 toString() 中插入随机数

java - J2Me左右滑动图像

json - 在 J2ME 中解析 json 时出错

blackberry - System.out.println 不会在 netbeans 控制台上打印

android - map 路由 - 适用于 Android 1.5 和黑莓 5.0

java - J2ME 中锁定图形对象

java - 为什么 CDC 基于旧版本的 Java,而不是当前 SE 的子集?

android - 树莓派——安卓通信