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