android放大/缩小无法在自定义相机应用程序中工作

时间:2013-01-14 12:39:37

标签: android camera zoom customization

我有这个功能可以将缩放控制添加到我的相机应用程序。从中调用此函数 surfaceChanged()

但是在很多设备上按+ / - 进行缩小/显示都没有效果。这些设备支持Zoom。此外,代码正在使用sony xperia,因此代码必须正确。

请帮我修理一下。还有什么我需要做的。

public void setZoomControl(Camera.Parameters params) {
    ZoomControls zoomControls = (ZoomControls) findViewById(R.id.CAMERA_ZOOM_CONTROLS);

    if (params.isZoomSupported()) {
        maxZoomLevel = params.getMaxZoom();
        Log.i("max ZOOM ", "is " + maxZoomLevel);
        ;

        zoomControls.setIsZoomInEnabled(true);
        zoomControls.setIsZoomOutEnabled(true);

        zoomControls.setOnZoomInClickListener(new OnClickListener() {
            public void onClick(View v) {
                if (currentZoomLevel < maxZoomLevel) {
                    currentZoomLevel++;
                    camera.startSmoothZoom(currentZoomLevel);
                }
            }
        });

        zoomControls.setOnZoomOutClickListener(new OnClickListener() {
            public void onClick(View v) {
                if (currentZoomLevel > 0) {
                    currentZoomLevel--;
                    camera.startSmoothZoom(currentZoomLevel);
                }
            }
        });
    } else
        zoomControls.setVisibility(View.GONE);
}

1 个答案:

答案 0 :(得分:1)

我解决了这个问题。

不要使用startSmoothZoom()方法

Camera.Parameters params = camera.getParameters();
params.setZoom(zoom_value);
camera.setParameters(params);