我已经设法在ListField中删除了列表项,并且能够识别使用navigationClick方法单击了哪个项。现在我还通过覆盖paint方法为ListField添加了不同的背景。我基本上是给Listview一个斑马图案来区分列表项。但现在我无法查看高亮。但当我向下滚动列表并单击时,它会识别出该项目。你们知道哪里出了问题或者我怎么改变高亮颜色吗?
工作:设备:8520操作系统:5.0
Thanks in advance
正如jprofitt所指出的,您应该使用drawListRow来更好地利用ListField。
对于焦点问题,ListField将为您处理焦点绘制。它将在您的绘制代码被调用之前绘制,因此为了避免擦除焦点颜色,您需要停止绘制所选行的斑马条纹。如果将continue逻辑添加到循环的顶部,您将再次开始看到选择器。
if(x == getSelectedIndex()) { continue; }
您还需要更新您的绘画逻辑,以使用与蓝色高亮颜色形成良好对比的颜色,但仅适用于所选行的