이 주제에 대한 몇 가지 다른 질문을 보았지만 아무 것도 내 문제를 해결하지 못했습니다. 확대/축소 버튼을 제외한 모든 기능이 제대로 작동하는 맞춤형 카메라 앱이 있습니다. setColorEffect는 옵션 메뉴에서 오는 완벽하게 작동합니다Android 맞춤형 카메라 줌이 작동하지 않음
@Override
public void surfaceChanged(SurfaceHolder holder, int format, int width,
int height) {
if (isPreviewing){
camera.stopPreview();
}
Camera.Parameters p = camera.getParameters();
p.setPreviewSize(sizes.get(0).width, sizes.get(0).height);
p.setColorEffect(effect);
zoomControls = (ZoomControls) findViewById(R.id.zoomControls);
if (p.isZoomSupported()) {
maxZoomLevel = p.getMaxZoom();
Toast.makeText(PictureTaker.this, String.valueOf(maxZoomLevel),Toast.LENGTH_LONG).show();
zoomControls.setIsZoomInEnabled(true);
zoomControls.setIsZoomOutEnabled(true);
zoomControls.setOnZoomInClickListener(new OnClickListener() {
public void onClick(View v) {
if (currentZoomLevel < maxZoomLevel) {
currentZoomLevel++;
camera.startSmoothZoom(currentZoomLevel);
//Toast.makeText(PictureTaker.this, String.valueOf(currentZoomLevel),Toast.LENGTH_LONG).show();
}
}
});
zoomControls.setOnZoomOutClickListener(new OnClickListener() {
public void onClick(View v) {
if (currentZoomLevel > 0) {
currentZoomLevel--;
camera.startSmoothZoom(currentZoomLevel);
}
}
});
} else {
zoomControls.setVisibility(View.GONE);
}
camera.setParameters(p);
try {
camera.setPreviewDisplay(holder);
} // end try
catch (IOException e) {
Log.v(TAG, e.toString());
} // end catch
camera.startPreview(); // begin the preview
isPreviewing = true;
}
:이 SDK 분 8 타겟 (14)를 사용하여 내 코드입니다. 코드가 실행될 때 토스트에 "59"가 표시되기 때문에 isZoomSupported 및 getMaxZoom이 작동하지만 줌 버튼에는 아무런 변화가 없습니다. 이것은 XML
<ZoomControls
android:id="@+id/zoomControls"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="17dp"
android:baselineAligned="false"
android:gravity="center_horizontal"
android:orientation="horizontal" />
나는 모든 매니페스트에서 필요한 권한과 오류가 로그 캣에 표시되는 한에서 zoomControl입니다. 내가 뭘 잘못하고 있는지 모르겠다. 버튼을 눌렀을 때 currentZoomLevel이 변경되고 매번 값이 하나씩 증가하는 것을 보여 주면 두 번째 Toast를 추가하여보고합니다. 또한 startSmoothZoom를 사용하고 단지
p.setZoom(currentZoomLevel); or p.setZoomLevel(15);
로 줌을 설정하고도 하나 하나 작동하지 했어요. 내 전화 인 HTC Incredible은 네이티브 카메라 앱을 완벽하게 작동시키는 줌 기능을 가지고 있습니다. 코드의 zoomControl 부분을 주석 처리하면 모든 것이 잘 작동하고 사용자 정의 카메라의 다른 모든 기능이 거기에있는 zoomControl 코드와 함께 제대로 작동하므로 그냥 확대/축소하지 마십시오.
안녕하세요 u는 나를 도울 수, 메신저는 나를 위해 작동하지 않는이 코드를 사용하여 –
는에 란 널 포인터 예외를 제공 내 HTC와 같은 문제. 게시 해 주셔서 감사합니다. – Zac
삼성에서도 i는 똑같은 Prob에 직면했다. 감사합니다 그 시간을 절약했습니다 –