Exposure Widget

This is a widget that can automatically monitor whether the child widget is exposed<br/> When the child widget is found in the window viewport, it begin detecting<br/> When stay time exceeds the exposure time condition (default is 0.5s) and the exposure area is greater than the visibility fraction condition (default 50%)<br/> It will trigger the exposure callback and record the Key value in a queue (the default is to store up to 100 keys). Encounter the same key in the queue, no more exposure detection

install

Add this to your package's pubspec.yaml file

dependencies:
  exposure: ^1.0.3

use

ExposureDetector({
    key: Key('exposure'),  // Custom Key
    child: childWidget, //Child Widget
    exposure: callBack // Exposure Callback
});

Examples

Scroll List Exposure

scroll Exposure

Animate Exposure

animateExposure

Dialog Exposure

dialogExposure

Configuration

  • ExposureDetectorController.instance.setFilterList:Function Set key queue<br/>
  • ExposureDetectorController.instance.exposureTime:int Set exposure time condition (ms)<br/>
  • ExposureDetectorController.instance.exposureFraction:double Set visibility fraction condition<br/>
  • ExposureDetectorController.instance.updateInterval:Duration Set delay detection time

Libraries

exposure