我需要一个要求,在列表中,某些列表项应该表现出与其他项不同的样式。如何在lwuit中实现这一目标?
例如,
List menu = new List();
menu.addItem("1. Green");
menu.addItem("2. Red");
menu.addItem("3. Blue");
在此列表中每个项目应具有表示其颜色的样式(即)绿色应具有绿色背景,红色应具有红色背景。 LWUIT有可能吗?我们怎样才能做到这一点?
先谢谢。
答案 0 :(得分:2)
您必须为此用例创建一个单元格渲染器。只需派生'DefaultListCellRenderer',例如:
DefaultListCellRenderer rend = new DefaultListCellRenderer() {
public Component getCellRendererComponent(Component list, Object model, Object value, int index, boolean isSelected) {
Component c = super.getCellRendererComponent(...);
c.getStyle().setBgTransparency(255);
c.getStyle().setBgColor(theColorYouWant);
return c;
}
};
然后将此渲染器设置为列表。您可能需要在此处进行一些额外的改进,因为这是渲染器的简化示例。
答案 1 :(得分:1)
这是一种做法。 1.为列表中的每个项目创建一个组件 2.将bg颜色和文本添加到其中。 3.完成后,将其添加到您创建的表单或任何其他custon组件中。
其他方式: 您可以创建自己的列表渲染器。 Here是关于如何做到这一点的一些信息