У меня есть экран с фоновым изображением, которое выглядит так:
bg = new VerticalFieldManager(
VerticalFieldManager.USE_ALL_WIDTH |
VerticalFieldManager.USE_ALL_HEIGHT |
VerticalFieldManager.NO_HORIZONTAL_SCROLLBAR |
VerticalFieldManager.NO_VERTICAL_SCROLLBAR |
VerticalFieldManager.NO_HORIZONTAL_SCROLL |
VerticalFieldManager.NO_VERTICAL_SCROLL) {
//Override the paint method to draw the background image.
public void paint(Graphics graphics) {
//Draw the background image and then call paint.
graphics.drawBitmap(Graphics.getScreenWidth()/2 - bgBitmap.getWidth()/2,
Graphics.getScreenHeight()/2 - bgBitmap.getHeight()/2,
bgBitmap.getWidth(), bgBitmap.getHeight(), bgBitmap, 0, 0);
super.paint(graphics);
}
};
add(bg);
Затем я добавляю любые поля для экрана в этот менеджер. У меня есть ListField, через который я хотел бы видеть фон. Когда экран впервые отображается, все хорошо. Я могу видеть изображение. Как только я прокручиваю вниз, выбираю что-то и отменяю это, фон исчезает (становится белым).
Нужно ли делать что-то особенное при рисовании строк моего списка, чтобы сделать их по-настоящему прозрачными после исчезновения цвета выделения?
ПРИМЕЧАНИЕ. Я обнаружил, что это происходит независимо от того, какое поле отображается поверх фона. Он отображается правильно, пока цвет выделения не будет нарисован для данного фокусируемого поля, а затем вы выберете что-то еще. Вся область, заполненная цветом выделения, после отмены выбора становится белым по умолчанию.