我在 9810 设备和模拟器上遇到屏幕滚动的奇怪问题。 我有一个完整的订单屏幕,在确认用户订单时显示。
在顶部有一个 Vertical Field Manager,它包含另一个 VerticalFieldManager(包含 Label Fields 和 buttonFields)和一个 FlowFieldManager(包含图像)。 现在我面临的问题是,每当我上下滚动屏幕时,屏幕上都会出现许多灰线。设备似乎存在一些屏幕刷新问题。我在以前的操作系统(4.5、4.5 4.7 5.0)版本上进行了测试,一切正常。问题出现在 6.0 以上的操作系统版本上。
虽然正确的画面一定是这样的
如您所见,每当我上下滚动屏幕时,就会出现这些灰色线条。有什么想法可以解决这个问题吗?
最佳答案
在第一张图片中,您似乎正试图在屏幕顶部添加阴影效果。垂直字段管理器使用一些图形优化来提高滚动性能。它不是重新绘制所有内容,而是拾取布局区域中屏幕上的像素,并移动它们。只要所有绘画代码都与虚拟范围相关,这就有效。
某些 UI 效果,如阴影效果,是相对于屏幕的,而不是虚拟范围,因此此优化会拾取这些效果并将它们复制到其他地方,这看起来很糟糕。它也往往看起来就像您的第一张图片。
有两种方法可以解决这个问题:
关闭优化。覆盖 isScrollCopyable返回假。您的视觉问题应该会消失,但滚动性能会受到影响。
不要在可滚动区域的顶部添加 UI 效果。
关于blackberry - 在 9810 + Blackberry 上上下滚动时出现间歇性刷新问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9955032/