如何在Android中的SurfaceView Camera中使用搜索条实现缩放?

时间:2017-05-15 02:57:10

标签: android android-camera surfaceview

我正在使用Surface-Camera-Preview,并希望使用搜索栏实现缩放控制,已经完成了缩放缩放,那么有没有办法用搜索栏控制它?感谢。

2 个答案:

答案 0 :(得分:3)

如果使用捏缩放设置缩放,可以使用setOnSeekBarChangeListener为相机设置缩放:

seekbarZoom = (SeekBar) findViewById(R.id.seekBarZoom);
    seekbarZoom.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener(){

        @Override
        public void onProgressChanged(SeekBar seekBar, int progress,
                boolean fromUser) {
            // TODO Auto-generated method stub
            Log.d(TAG, "progress:"+progress);

            // YOur code here in set zoom for pinch zooming, sth like this
            if(mCamera.getParameters().isZoomSupported()){

                Parameters params = mCamera.getParameters();
                params.setZoom(progress);
                mCamera.setParameters(params);
            }
        }

        @Override
        public void onStartTrackingTouch(SeekBar seekBar) {
            // TODO Auto-generated method stub
            Log.d(TAG, "onStartTrackingTouch");
        }

        @Override
        public void onStopTrackingTouch(SeekBar seekBar) {
            // TODO Auto-generated method stub
            Log.d(TAG, "onStartTrackingTouch");
        }

    });

答案 1 :(得分:2)

RoShan Shan共享的代码是这样做的,但是如果你没有设置SeekBar的最大值,由于没有设置IndexOutOfBoundsException,你将从用户那里得到很多seekbarZoom.setMax(params.getMaxZoom())。因为SeekBar的默认最大值为100,但许多设备上的maxZoom小于100。