Как стилизовать определенный элемент списка в lwuit?
Мне нужно требование, чтобы в списке некоторые элементы списка демонстрировали другой стиль, чем другие. Как это может быть достигнуто в lwuit?
Например,
List menu = new List();
menu.addItem("1. Green");
menu.addItem("2. Red");
menu.addItem("3. Blue");
В этом списке каждый элемент должен иметь стиль представления своего цвета (т. Е. Зеленый должен иметь зеленый фон, а красный - красный фон). Возможно ли это в LWUIT? Как мы можем достичь этого?
Заранее спасибо.
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. Создайте компонент для каждого элемента в списке. 2. Добавьте цвет bg и текст. 3. По завершении добавьте его в форму или любой другой созданный вами компонент Custon.
Другой способ: вы можете создать свой собственный рендерер List. Вот некоторая информация о том, как вы можете это сделать