如何在LWUIT中对列表的行和奇数行进行不同的着色?

时间:2012-01-11 06:15:12

标签: lwuit

LWUIT应用程序中有List。我想让odd rowseven rows成为不同的colors。如何实现?

2 个答案:

答案 0 :(得分:1)

您可以为行设置两个不同的UIID。设置此UIID可以有选择地修改行的颜色。

修改

好的,这将更加困难。

您需要制作Render并使用ListList.setRender(Render r)中进行设置。 'Render'类将从ListCellRender延伸。在此课程中,您可以将UIID设置为Render,设置其选定或未选定的样式。

请参阅此示例。 @Shai Almog可以为您的问题提供更多信息。

http://www.lwuit.com/2008/07/lwuit-list-renderer-by-chen-fishbein.html

答案 1 :(得分:0)

您需要的是通用列表单元格渲染器,您可能必须在代码中创建样式,或者从资源编辑器设置UIID。

List list = new List(createGenericListCellRendererModelData());
list.setRenderer(new GenericListCellRenderer(createGenericRendererContainer(), createGenericRendererContainer()));


private Container createGenericRendererContainer() {
    Container c = new Container(new BorderLayout());
    c.setUIID("ListRenderer");
    Label name = new Label();
    name.setFocusable(true);
    name.setName("Name");
    c.addComponent(BorderLayout.CENTER, name);
    Label surname = new Label();
    surname.setFocusable(true);
    surname.setName("Surname");
    c.addComponent(BorderLayout.SOUTH, surname);
    CheckBox selected = new CheckBox();
    selected.setName("Selected");
    selected.setFocusable(true);
    c.addComponent(BorderLayout.WEST, selected);
    return c;
}

private Hashtable[] createGenericListCellRendererModelData() {
    Hashtable[] data = new Hashtable[5];
    data[0] = new Hashtable();
    data[0].put("Name", "Shai");
    data[0].put("Surname", "Almog");
    data[0].put("Selected", Boolean.TRUE);
    data[1] = new Hashtable();
    data[1].put("Name", "Chen");
    data[1].put("Surname", "Fishbein");
    data[1].put("Selected", Boolean.TRUE);
    data[2] = new Hashtable();
    data[2].put("Name", "Ofir");
    data[2].put("Surname", "Leitner");
    data[3] = new Hashtable();
    data[3].put("Name", "Yaniv");
    data[3].put("Surname", "Vakarat");
    data[4] = new Hashtable();
    data[4].put("Name", "Meirav");
    data[4].put("Surname", "Nachmanovitch");
    return data;
}

此处的详细信息:http://lwuit.blogspot.com/2011/03/list-rendering-easy-way-generic-list.html(代码来自此链接)。