Wie kann ich am besten überprüfen, ob die Ansicht im Fenster sichtbar ist?

Wie kann ich am besten überprüfen, ob die Ansicht im Fenster sichtbar ist?

Ich habe eine CustomView, die Teil meines SDK ist, und jeder kann CustomView zu seinen Layouts hinzufügen. Mein CustomView führt einige Aktionen aus, wenn es regelmäßig für den Benutzer sichtbar ist. Wenn also die Ansicht für den Benutzer unsichtbar wird, muss der Timer gestoppt werden, und wenn sie wieder sichtbar wird, muss der Kurs neu gestartet werden.

Aber leider gibt es keine sichere Möglichkeit zu überprüfen, ob mein CustomView für den Benutzer sichtbar oder unsichtbar wird. Es gibt einige Dinge, die ich überprüfen und anhören kann:

onVisibilityChange //it is for view's visibility change, and is introduced in new API 8 version so has backward compatibility issue
onWindowVisibilityChange //but my CustomView can be part of a ViewFlipper's Views so it can pose issues
onDetachedFromWindows //this not as useful
onWindowFocusChanged //Again my CustomView can be part of ViewFlipper's views.
Also, wenn jemand mit dieser Art von Problemen konfrontiert ist, werfen Sie bitte etwas Licht.

Antworten auf die Frage(18)

Ihre Antwort auf die Frage