1
經過對SO的一些研究,我找不到使用android.hardware.camera實現縮放縮放的方法。我正在使用SeekBar,但這不是我所需要的。有誰知道在哪裏可以找到適用於Android SKD> = 15的示例?如何在Android中實現捏縮放?
在我的cameraFragment中,我使用了OnSeekBarChangeListener ,並在onProgressChanged方法中設置了相機的縮放。
seekbar.setOnSeekBarChangeListener(this);
.....
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
try {
Camera.Parameters params = camera.getParameters();
params.setZoom(progress);
currentZoomLevel = progress;
params.setFocusMode(Camera.Parameters.FOCUS_MODE_AUTO);
camera.setParameters(params);
//set zoom level value
try {
float ratio = ((float) params.getZoomRatios().get(progress))/100;
tvZoomLevel.setText(String.format("%.1fX", ratio));
} catch (Exception ex) {
Log.e(TAG, ex.getMessage());
}
} catch (Exception ex) {
Log.e(TAG, ex.getMessage());
}
}
它適用於Android 4.x.我改變了唯一的東西:return(float)Math.sqrt(x * x + y * y); – Dylan
對於那些如何在一個片段中實現這個,添加View v = inflater.inflate(R.layout.fragment,container,false); v.setOnTouchListener(本); – Dylan
你可以在你的view.iew視圖中設置監聽器= inflater.inflate(R.layout.fragment_test,container,false); view.setOnTouchListener(新View.OnTouchListener(){ 公共布爾onTouch(視圖V,MotionEvent事件){ 如果(event.getAction()== MotionEvent.ACTION_MOVE){// 做一些 } 回報true; } }); – QuokMoon