Я испытываю аберрацию рисунка в один или два пикселя между компонентами, при которой фон просвечивает. Поля участвующих компонентов равны 0, поэтому не должно быть пробела, что-либо просвечивающее.
Для иллюстрации: простая форма с фоновым изображением, контейнер содержимого с белым фоном и южный компонент панели инструментов имеют округленное изображение, также белого цвета, для визуально привлекательного разделения между панелью инструментов и содержимым:
Как видно на втором рисунке, в особых случаях между панелью инструментов и контейнером содержимого проходит тонкая линия, что оказывает ужасное визуальное воздействие.
Воспроизвести:
- при перемещении сверху по панели инструментов вниз в контейнер содержимого на короткое время появляется линия, проводя по белому закругленному изображению.
- при перемещении из контейнера содержимого вверх на панель инструментов, строка появляется и остается.
Я предположил, что это как-то связано с невыбранными / выбранными / нажатыми стилями UIID, однако я везде скопировал невыбранные стили с одинаковым полем 0, и это ничего не изменило.
вот минимальный код для воспроизведения:
public void start() {
if (current != null) {
current.show();
return;
}
Form hi = new Form(new BorderLayout());
addToolbar(hi);
addContent(hi);
hi.show();
}
private void addToolbar(Form hi) {
Toolbar toolbar = hi.getToolbar();
toolbar.setUIID("Container");
toolbar.setTitle("Title");
Label divider = new Label(" ", "ToolbarDivider");
toolbar.add(BorderLayout.SOUTH, divider);
Label spacer = new Label(" ", "ToolbarSpacer");
toolbar.add(BorderLayout.EAST, spacer);
}
private void addContent(Form hi) {
Container whiteContainer = new Container();
whiteContainer.getAllStyles().setBgColor(0xffffff);
whiteContainer.getAllStyles().setBgTransparency(255);
whiteContainer.add(new Label("content"));
hi.add(BorderLayout.CENTER, whiteContainer);
}
Примечание. ToolbarDivider - это стиль, в котором округленное изображение белого цвета имеет фон с нулевыми полями и отступами. Панель инструментов Spacer имеет верхнее поле, которое добавляется справа от панели инструментов, чтобы сделать его больше и привлекательнее (в моем приложении больше контента для отображения на панели инструментов).
Любая помощь в том, почему эта строка встречается, будет принята.