我需要onTouchFocus全屏surfaceview,如下例所示: https://github.com/jayrambhia/Touch2Focus 但它只能在横向方向上正常工作(纵向视图中的surfaceview更改分辨率不如标准的Android相机应用程序那么精细)。 任何想法如何解决它? 感谢。
答案 0 :(得分:0)
在onCreate()
Window window = getWindow();
if (Build.VERSION.SDK_INT < 16)
window.setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
else
window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_FULLSCREEN);
这会将您的活动窗口全屏设置为Android相机应用程序。
另外,我在surfaceChanged(SurfaceHolder holder, int format, int width, int height)
方法中执行以下操作:
if (height > width)
_camera.setDisplayOrientation(90);
else
_camera.setDisplayOrientation(0);
// Setting BestPreviewSize for Current Pixels
Camera.Parameters p = _camera.getParameters();
Camera.Size size = null;
List<Camera.Size> list = parameters.getSupportedPreviewSizes();
size = list.get(0);
for(int i = 1; i < list.size(); i++) {
if((list.get(i).width * list.get(i).height) > (size.width * size.height))
size = list.get(i);
}
if(size != null) {
p.setPreviewSize(size.width, size.height);
_camera.setParameters(p);
}
_camera.startPreview();
这会获得支持的预览尺寸列表,并选择最接近屏幕尺寸的尺寸,并将其设置为Camera Parameter
。
干杯:)