반응형
// 선언
ScaleGestureDetector detector;
// detector 기능 정의
@Override
protected void onResume() {
super.onResume();
ScaleGestureDetector.SimpleOnScaleGestureListener gestureListener = new ScaleGestureDetector.SimpleOnScaleGestureListener() {
@Override
public boolean onScale(@NonNull ScaleGestureDetector detector) {
float currentZoomRatio = camera.getCameraInfo().getZoomState().getValue().getZoomRatio();
if (currentZoomRatio == null) {
currentZoomRatio = 1F;
}
float delta = detector.getScaleFactor();
camera.getCameraControl().setZoomRatio(currentZoomRatio * delta);
return true;
}
};
detector = new ScaleGestureDetector(viewFinder.getContext(), gestureListener);
}
// previewView에서 사용
previewView.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
MeteringPointFactory factory = viewFinder.getMeteringPointFactory();
MeteringPoint point = factory.createPoint(event.getX(), event.getY());
FocusMeteringAction action = new FocusMeteringAction.Builder(point).build();
camera = cameraProvider.bindToLifecycle (
MultiCameraActivity.this, cameraSelector, preview, imageCapture
);
// pinch
detector.onTouchEvent(event);
}
}
https://medium.com/androiddevelopers/display-a-camera-preview-with-previewview-86562433d86c
Display a camera preview with PreviewView
Android Jetpack CameraX: PreviewView
medium.com
반응형
'IT > Android' 카테고리의 다른 글
Android] Fragment 생성시에는 newInstance로. (0) | 2025.01.24 |
---|---|
Android] 안드로이드 스튜디오 미사용 코드 제거 (0) | 2024.09.08 |
Android] 안드로이드 프로젝트 패키지명 변경하기 (0) | 2024.06.23 |
Android] 파일 용량 / bitmap 용량 구하기 (0) | 2024.03.22 |
Android] gradle ndk.adbfilters 오류 수정 (0) | 2023.11.12 |
댓글