Как решить проблему ореолов экрана в Kindle?

Я использую KRepaintManager.paintImmediately(root, true) из start() в моем основном классе, который расширяет AbstractKindlet для обновления экрана, но там все еще есть проблема с ореолами. При нажатии и выходе из меню - экран очищается. Мне интересно, что делает код после закрытия меню?

Как решить проблему ореолов устройства Kindle?

Код:

KPages pages = new KPages() {
        /**
         * A place holder serialization version ID
         */
        private static final long serialVersionUID = 1L;

        /** {@inheritDoc} */
        public Insets getInsets() {
            return new Insets(00, 20, 20, 20);
        }
};

public static void flashScreen()
{
    EventQueue.invokeLater(new Runnable(){ 
        public void run(){
            KRepaintManager.currentManager(pages).addDirtyRegion(pages, 0, 0, pages.getWidth(), pages.getHeight());
            KRepaintManager.currentManager(pages).paintDirtyRegions(true);
        }
    });

}

Вызов flashScreen() при возврате, навигация вперед по KPages.

1 ответ

Решение

KRepaintManager.paintImmediately(root, true) это правильный способ прошить весь экран - иногда вы можете получить артефакты, но вы ничего не можете сделать, чтобы предотвратить это. Удар Menu Кнопка вообще обновит экран аналогично.

Другие вопросы по тегам