【问题标题】:Cannot move preview image with Android 2.3 (works in 2.2)无法使用 Android 2.3 移动预览图像(适用于 2.2)
【发布时间】:2011-07-29 07:30:57
【问题描述】:

我有一个简单的拍照应用程序,其设计如下:

[为简单起见考虑横向模式]

  1. 左侧有一些按钮
  2. 在表面的其余部分(右侧)我放置了相机图像预览

图像的分辨率与屏幕尺寸相同。例如,如果我的屏幕分辨率为 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


    【解决方案1】:

    我们所有的测试都表明这是一个 Android 2.3 问题。当我们尝试在 Android 2.2 上进行操作时,图像无法移动,而是被拉伸。

    这是我们调查的结果;这显然不是意料之中的,并且以某种方式出现了令人惊讶的“回归”。

    【讨论】:

      猜你喜欢
      • 2012-01-27
      • 1970-01-01
      • 1970-01-01
      • 2012-03-07
      • 2016-02-12
      • 2011-08-17
      • 2023-01-12
      • 2017-02-25
      • 1970-01-01
      相关资源
      最近更新 更多