我正在使用 expo camera 并将其包裹在 TapGestureHandler
中,以便我可以检测点击事件。代码如下:
<TapGestureHandler onHandlerStateChange={onSingleTapEvent}>
<View>
<Camera
ref={cameraRef}
type={cameraType}
ratio={ratio}
onCameraReady={onCameraReady}
autoFocus={Camera.Constants.AutoFocus.on}
></Camera>
</View>
</TapGestureHandler>;
我的onSingleTapEvent
:
const onSingleTapEvent = (event) => {
if (event.nativeEvent.state === State.ACTIVE) {
console.log("Single tap event: ", event.nativeEvent);
}
};
当我点击屏幕时,我看到以下控制台输出:
Single tap event: Object {
"absoluteX": 210.3333282470703,
"absoluteY": 527.3333129882812,
"handlerTag": 3,
"numberOfPointers": 1,
"oldState": 2,
"state": 4,
"x": 210.3333282470703,
"y": 446.3333435058594,
}
我的问题是,如何实现点击焦点?据我所知,我需要玩世博相机的focusDepth
property,但我不知道如何设置?任何想法、沼泽或伪代码都将被授予!