2

AbstractKindletを拡張して画面を更新するメインクラスのstart()からKRepaintManager.paintImmediately(root、true)を使用していますが、ゴーストの問題がまだあります。メニューを押して閉じると、画面がクリアされます。メニューが閉じられた後、コードは何をしているのだろうか?

ゴーストの問題を解決する方法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のナビゲーションが進みます。

4

1 に答える 1

1

KRepaintManager.paintImmediately(root, true)画面全体をフラッシュする正しい方法です。アーティファクトが発生することもありますが、それを防ぐためにできることは何もありません。一般的にMenuボタンを押すと、同様に画面が更新されます。

于 2012-04-09T10:13:46.590 に答える