Предварительный просмотр камеры с прозрачным изображением выше - PullRequest
10 голосов
/ 31 мая 2011

Я хотел бы видеть изображение поверх Camera SurfaceView \ preview.Как я могу это сделать?Есть примеры?

1 Ответ

13 голосов
/ 31 мая 2011

Отличный пример можно найти в библиотеке ZXing , Сканер штрих-кода приложение.

Они используют FrameLayout для SurfaceView и их пользовательские ViewfinderView, так что SurfaceView и ViewfinderView охватывают весь экран:

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
             android:layout_width="fill_parent"
             android:layout_height="fill_parent">

  <SurfaceView android:id="@+id/preview_view"
               android:layout_width="fill_parent"
               android:layout_height="fill_parent"
               android:layout_centerInParent="true"/>

  <com.google.zxing.client.android.ViewfinderView
      android:id="@+id/viewfinder_view"
      android:layout_width="fill_parent"
      android:layout_height="fill_parent"
      android:background="@color/transparent"/>

</FrameLayout>

Обратите внимание на значения fill_parent в layout_height и layout_width для обоих представлений.

И затем они рисуют пользовательские вещи в методе ViewfinderView.onDraw(), просто поверх того, что отображается при предварительном просмотре камеры.

Если вы не хотите ничего рисовать, а просто используете предопределенное изображение, тогда используйте ImageView вместо ViewfinderView. Возможно, вы захотите вызвать метод setAlpha, чтобы сделать ваше изображение прозрачным (если нарисованное не было само по себе прозрачным).


Вот скриншот со сканера штрих-кода:

enter image description here

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