Невозможно переместить изображение предварительного просмотра с Android 2.3 (работает в 2.2) - PullRequest
0 голосов
/ 29 июля 2011

У меня есть простое приложение для фотосъемки, которое имеет следующий дизайн:

[Рассмотрим ландшафтный режим для простоты]

  1. С левой стороны есть несколько кнопок
  2. На остальной поверхности (справа) я поставил предварительный просмотр изображения с камеры

Разрешение изображения такое же, как и у размеров экрана.Например, если у меня разрешение экрана 800x480, изображение также имеет разрешение 800x480.

Я хочу переместить предварительный просмотр изображения в правую сторону.Под перемещением я имею в виду следующее:

Допустим, мое разрешение 800х480.Левая сторона (с кнопками) имеет размер 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 он работает хорошо?
  • Есть ли лучший способ переместить изображение предварительного просмотра в область экрана?

Спасибо за любые предложения и альтернативы,

Iulian

PS: cameraView находится под другой поверхностью, которая установлена ​​на нем

holder.setFormat(PixelFormat.TRANSLUCENT);
setZOrderOnTop(true);

1 Ответ

0 голосов
/ 29 августа 2011

Все наши тесты показывают, что это проблема Android 2.3.Изображение не может быть перемещено, но вместо этого оно растягивается, когда мы пытаемся сделать то, что работает на Android 2.2.

Это результат нашего исследования;это явно не ожидаемо и выглядит как удивительная «регрессия».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...