2012-01-11 60 views
1

我有一个有趣的问题,如果你会如此友善,我想提供一些建议和意见。我不是在代码之后,因为我更喜欢为自己写这些代码。我的背景是J2ME和Android,但我最近采用了黑莓手机。黑莓复杂名单

我需要写的东西类似于Android ListView,虽然有点简单。

每行由3个项目组成。有一个图像/图标,多行(2或3行)文本元素和某种形式的图像按钮。

但是,每行只有2列。图标/图像&多行文本合并为第一列并且可点击(列(0)加上行ID可识别)。行(1)中的下一个元素是一个可点击的图像(对所有行都通用 - 这也需要具有可识别的行ID)。每列/行单元格必须有不同的操作。

需要多行垂直滚动,并且可能有很多项目。每行需要适合屏幕宽度,图标/多行文本对齐左侧,可点击图像对齐在右边。每一行都需要垂直对齐所有组件(可能居中)以保持整洁。

那么我们有什么(对于行)是:

[点击图片/多行文本组合] [点击图片]

理想的情况下会有一个共同的背景(渐变阴影),每个行一旦集中。这应该无缝地跨越两列。

任何想法将不胜感激。

回答

1

最简单的方法可能是列表中有一个VerticalFieldManager,该行由HorizontalFieldManagers填充。

至于行(列)的内部部分,您可以将FIELD_LEFT传递到第一个字段并将FIELD_RIGHT传递给第二个进行对齐。您可以通过扩展ButtonField并覆盖paint方法创建图像多字段字段。您可以使用Graphics对象绘制您的imagetext。不同的方法(也许更简单)是扩展Horizo​​ntalFieldManager,添加组件并通过捕获点击事件使其可点击。

有关黑莓手机的一件事情是,有许多方法可以做某些事情,如果某件事情不像你想要的那样工作,尝试一些不同的事情。希望这可以帮助你开始!

+1

这就是为什么我问这个问题。谢谢!我今天尝试了多种方法,包括您建议的方法。我茫然地想着,想知道是否有人试过这个。再次感谢您的建议。关键是两幅图像都必须与多文本垂直对齐,即使它们位于不同的列中。 – delfi 2012-01-11 22:57:12

+0

很高兴能帮到你!我喜欢你的方法 - 征求意见和建议,而不是要求人们为你编写代码:) – Tamar 2012-01-12 14:49:52

+0

只是快速补充说我今天花了几个小时,它像梦一样工作。所有这些实际上都有一个很好的OO解决方案。我使用第一种方法。欢呼我的朋友:-) – delfi 2012-01-12 20:00:35