Wird ein Ereignis ausgelöst, wenn die Android-Ansicht in der App sichtbar wird?

9

Meine App enthält mehrere Ansichten (scrollbar), eine davon ist CustomView (erweitert die Ansicht), wird ein Android-Ereignis ausgelöst, wenn diese Ansicht in den sichtbaren Bereich kommt.

Der Ansatz, den Hintergrund-Thread während des Zeitrahmens von onAttachedToWindow bis onDetachedToWindow zu verwenden Dieser Thread verwendet customView.getGlobalVisibleRect(rectangle) , um zu prüfen, ob ein Teil der Ansicht auf dem Bildschirm sichtbar ist, aber dies ist ein Spin-Lock-Ansatz. Gibt es einen besseren Weg, die Sichtbarkeit zu erkennen, jedes Ereignis, das ausgelöst wird, wo ich getGlobalVisibleRect

    
Pradeep 13.08.2015, 18:12
quelle

1 Antwort

7

Hier ist ein Beispielcode mit ViewTreeObserver :

%Vor%

Anmerkungen:

  • Ich kenne Ihren Code nicht und er wird nicht veröffentlicht. Der Code viewTemp = convertView ist nur ein Beispiel, Code von der Verwendung eines Adapters.
  • Dies ist ein Listener, wenn das Layout aus welchem ​​Grund auch immer gezeichnet wird.
The Original Android 13.08.2015, 22:02
quelle

Tags und Links