4
我面临一个问题,试图在纵向模式下进行相机预览。我读过关于它的各种文章和我已经解决了具有下面的代码是:安卓相机setDisplayOrientation:奇怪的星系标签行为
Display display = ((CaptureActivity)context).getWindowManager().getDefaultDisplay();
int width = display.getWidth();
int height = display.getHeight();
if (Integer.parseInt(Build.VERSION.SDK) >= 8) {
setDisplayOrientation(camera, 90);
}else{
Camera.Parameters parameters = camera.getParameters();
parameters.set("orientation", "portrait");
camera.setParameters(parameters);
}
其中作为setDisplayOrientation()的定义是:
protected void setDisplayOrientation(Camera camera, int angle) {
Method downPolymorphic;
try {
downPolymorphic = camera.getClass().getMethod(
"setDisplayOrientation", new Class[] { int.class });
if (downPolymorphic != null)
downPolymorphic.invoke(camera, new Object[] { angle });
} catch (Exception e1) {
}
}
现在,我想这个代码到的Galaxy Tab,它失败。我解决了它(尝试和错误的做法),使用下面的代码:
if (height == 1024 && width == 600) {
Camera.Parameters parameters = camera.getParameters();
parameters.set("orientation", "portrait");
parameters.setRotation(90);
camera.setParameters(parameters);
}
现在我的两个问题是:
1)为什么有这样的问题,而Galaxy Tab的具有2.2版本,并
2)有没有更好的解决方案来解决这个问题?
非常感谢您的时间!
你检查了这个解决方案:http://stackoverflow.com/questions/3841122/android-camera-preview-is-sideways/5110406#5110406 –
Yeap,没有运气......非常感谢! –
@DimitrisMakris你有没有得到任何解决方案。请!分享,我面对同一个? – swiftBoy