【发布时间】:2011-07-29 07:30:57
【问题描述】:
我有一个简单的拍照应用程序,其设计如下:
[为简单起见考虑横向模式]
- 左侧有一些按钮
- 在表面的其余部分(右侧)我放置了相机图像预览
图像的分辨率与屏幕尺寸相同。例如,如果我的屏幕分辨率为 800x480,则图像的分辨率也为 800x480。
我想要做的是将图像预览移动到右侧。移动我的意思是:
假设我的分辨率是 800x480。左侧(带有按钮)的大小为 200 像素。这意味着图像预览剩余 600 像素,而图像宽 800 像素 (800x480)。这意味着我可以将 x 轴上的图像移动 200 像素(最多 - 这是下面的 nOffset 变量)。在 Android 2.2 上,使用以下代码非常有效:
SurfaceView cameraView;
....
cameraView.setLayoutParams(new AbsoluteLayout.LayoutParams(
surfaceWidth, surfaceHeight,
nOffset, 0)
);
我的问题是:
- 这段代码在 2.3 中有什么问题,而在 2.2 中运行良好?
- 有没有更好的方法将预览图像移动到屏幕区域?
感谢您的任何建议和替代方案,
尤利安
PS:cameraView 位于另一个已设置的表面下
holder.setFormat(PixelFormat.TRANSLUCENT);
setZOrderOnTop(true);
【问题讨论】:
标签: android camera surfaceview android-camera