将背景颜色添加到黑莓中的列表字段后,突出显示颜色消失

发布于 2024-12-18 16:15:44 字数 230 浏览 2 评论 0原文

我已成功获取 ListField 中的列表项,并且能够识别使用 navigationClick 方法单击了哪个项目。现在,我还通过重写 Paint 方法向 ListField 添加了不同的背景。我基本上给列表视图提供了斑马图案来区分列表项。但现在我无法查看精彩集锦。但是当我向下滚动列表并单击时,它会识别该项目。那么知道哪里出了问题或者如何更改突出显示颜色吗?

致力于: 设备:8520 操作系统:5.0

提前致谢

I have managed to ge the list items in the ListField and am able to recognize which item was clicked using the navigationClick method. Now I have also added a different background to my ListField by overriding the paint method. I am basically giving a zebra pattern to the Listview to differentiate the list items. But now I am unable to view the Highlight. But when i scroll down the list and click, it recognizes the item. so any idea where am going wrong or how i can change the highlight color?

Working on:
Device: 8520
OS: 5.0

Thanks in advance

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

蓝礼 2024-12-25 16:15:44

正如jprofitt 指出的,您应该使用drawListRow 来更好地利用ListField。

对于焦点问题,ListField 会帮你处理焦点绘制。它将在调用绘制代码之前绘制,因此为了避免擦除焦点颜色,您需要停止为所选行绘制斑马条纹。如果您将继续逻辑添加到循环顶部,您将再次开始看到选择器。

if(x == getSelectedIndex()) { continue; }

您还需要更新绘画逻辑,以使用与蓝色突出显示颜色形成鲜明对比的颜色,但仅限于所选行。

As jprofitt points out, you should use drawListRow to make better use of the ListField.

For the focus issue, ListField will handle the focus drawing for you. It will be drawn before your paint code is called, so to avoid wiping out the focus color, you need to stop drawing the zebra striping for the selected row. If you add continue logic to the top of your loop, you will start seeing the selector again.

if(x == getSelectedIndex()) { continue; }

You will also want to update your painting logic to use colors that contrast well with the blue highlight color, but only for the selected row.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文