1

View をサブクラス化し、onDraw メソッド内でビットマップ描画を行います。このビューは、水平スクロールビューに配置されます。ビットマップが画面外にスクロールされるため、ビットマップが表示されない場合があります。パフォーマンスを向上させるために、オブジェクトが表示されないときに何も描画しないようにしたいと思います。

問題は、ビットマップが画面外に描画されることをどのように判断して、描画せずに戻ることができるかということです。

4

1 に答える 1

1

私はこれを解決しました:

Rect s = new Rect();
getLocalVisibleRect(s);

// (...)
// Do not draw if outside screen
Rect b = getBounds();
boolean offScreen = b.left > s.right || b.right < s.left || b.top > s.bottom || b.bottom < s.top;
if (!offScreen) {
    // Draw here
}
于 2010-09-03T08:25:22.780 に答える