buildExposureDetector method
The GestureDetector widget for setting exposure point manually. 用于手动设置曝光点的 GestureDetector
Implementation
Widget buildExposureDetector(
BuildContext context,
BoxConstraints constraints,
) {
return Semantics(
label: textDelegate.sCameraPreviewLabel(
innerController?.description.lensDirection,
),
image: true,
onTap: () {
// Focus on the center point when using semantics tap.
final size = MediaQuery.sizeOf(context);
final details = TapUpDetails(
kind: PointerDeviceKind.touch,
globalPosition: Offset(size.width / 2, size.height / 2),
);
requestFocusAndExposureOnPosition(details.localPosition, constraints);
},
onTapHint: textDelegate.sActionManuallyFocusHint,
sortKey: const OrdinalSortKey(1),
hidden: innerController == null,
excludeSemantics: true,
child: GestureDetector(
onTapUp: (TapUpDetails d) {
requestFocusAndExposureOnPosition(
d.localPosition,
constraints,
);
},
onLongPressStart: (LongPressStartDetails d) {
requestFocusAndExposureOnPosition(
d.localPosition,
constraints,
lock: true,
);
},
behavior: HitTestBehavior.translucent,
child: const SizedBox.expand(),
),
);
}