0

我需要一个要求,即在列表中,某些列表项应该表现出与其他项不同的样式。如何在 lwuit 中实现这一点?

例如,

        List menu = new List();
        menu.addItem("1. Green");
        menu.addItem("2. Red");
        menu.addItem("3. Blue");

在此列表中,每个项目都应具有表示其颜色的样式(即)绿色应具有绿色背景,红色应具有红色背景。在 LWUIT 中可以吗?我们怎样才能做到这一点?

提前致谢。

4

2 回答 2

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;
     }
};

然后将此渲染器设置为列表。您可能需要在此处进行一些额外的改进,因为这是一个过度简化的渲染器示例。

于 2013-01-27T08:44:22.943 回答
1

这是一种方法。1. 为列表中的每个项目创建一个组件 2. 为其添加背景颜色和文本。3. 完成后,将其添加到您创建的表单或任何其他自定义组件中。

其他方式:您可以创建自己的列表渲染器。以下是有关如何执行此操作的一些信息

于 2013-01-23T13:44:59.363 回答