@@ -573,7 +573,7 @@ class CameraPickerState extends State<CameraPicker>
573
573
574
574
/// Use the [details] point to set exposure and focus.
575
575
/// 通过点击点的 [details] 设置曝光和对焦。
576
- void setExposurePoint (TapUpDetails details) {
576
+ void setExposureAndFocusPoint (TapUpDetails details) {
577
577
assert (controller != null );
578
578
// Ignore point update when the new point is less than 8% and higher than
579
579
// 92% of the screen's height.
@@ -596,6 +596,11 @@ class CameraPickerState extends State<CameraPicker>
596
596
controller.setExposurePoint (
597
597
_lastExposurePoint.value.scale (1 / Screens .width, 1 / Screens .height),
598
598
);
599
+ if (controller.value? .focusPointSupported == true ) {
600
+ controller.setFocusPoint (
601
+ _lastExposurePoint.value.scale (1 / Screens .width, 1 / Screens .height),
602
+ );
603
+ }
599
604
if (_exposureMode.value == ExposureMode .locked) {
600
605
_exposureMode.value = ExposureMode .auto;
601
606
}
@@ -1081,7 +1086,7 @@ class CameraPickerState extends State<CameraPicker>
1081
1086
Widget _exposureDetectorWidget (BuildContext context) {
1082
1087
return Positioned .fill (
1083
1088
child: GestureDetector (
1084
- onTapUp: setExposurePoint ,
1089
+ onTapUp: setExposureAndFocusPoint ,
1085
1090
behavior: HitTestBehavior .translucent,
1086
1091
child: const SizedBox .expand (),
1087
1092
),
0 commit comments