Reputation: 19
Can anyone please tell me how can I create a focus of image on touch event in android studio?
Upvotes: 0
Views: 1685
Reputation: 1106
You can use this method
public class CameraPreview implements SurfaceHolder.Callback {
// some code here
AutoFocusCallback myAutoFocusCallback = new AutoFocusCallback(){
@Override
public void onAutoFocus(boolean arg0, Camera arg1) {
if (arg0){
mCamera.cancelAutoFocus();
}
}
};
/**
* Called from PreviewSurfaceView to set touch focus.
* @param - Rect - new area for auto focus
*/
public void doTouchFocus(final Rect tfocusRect) {
try {
List<Camera.Area> focusList = new ArrayList<Camera.Area>();
Camera.Area focusArea = new Camera.Area(tfocusRect, 1000);
focusList.add(focusArea);
Camera.Parameters param = mCamera.getParameters();
param.setFocusAreas(focusList);
param.setMeteringAreas(focusList);
mCamera.setParameters(param);
mCamera.autoFocus(myAutoFocusCallback);
} catch (Exception e) {
e.printStackTrace();
Log.i(TAG, "Unable to autofocus");
}
}
}
Here is the Tutorial http://www.jayrambhia.com/blog/android-touchfocus/
Upvotes: 1