У меня есть простое приложение для фотосъемки, которое имеет следующий дизайн:
[Рассмотрим ландшафтный режим для простоты]
- С левой стороны есть несколько кнопок
- На остальной поверхности (справа) я поставил предварительный просмотр изображения с камеры
Разрешение изображения такое же, как и у размеров экрана.Например, если у меня разрешение экрана 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);