Я работаю над приложением Android с пользовательским модулем камеры.Основное назначение пользовательского модуля камеры - добавить наложение на камеру - это должно быть что-то вроде внешней прозрачной рамки (см. Первый прикрепленный рисунок).Это на самом деле размыто на прикрепленной картинке, но мне нужен хотя бы прозрачный эффект, так как размытие не так просто реализовать на Android.
Главное здесь - убедиться, что «чистая» видимая область соответствует формату А4, поэтому высота, деленная на ширину, должна быть √2 (основное назначение приложения - фотографировать листы А4).
Я понял, как добиться эффекта «перевернутый» - см. Второе изображение,Но я не могу понять, как можно настроить вид для желаемого эффекта - первое изображение.Может ли кто-нибудь поделиться своими мыслями о проблеме?Вот код:
camera.xml:
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="4">
<FrameLayout
android:id="@+id/camera_preview"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<View
android:id="@+id/overlay"
android:layout_width="316dp"
android:layout_height="446dp"
android:layout_centerInParent="true"
android:background="@drawable/overlay"
android:duplicateParentState="false" />
</RelativeLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="15dp"
android:background="@android:color/black">
<Button
android:id="@+id/button_capture"
android:layout_width="70dp"
android:layout_height="70dp"
android:background="@drawable/capture_button"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true" />
<Button
android:id="@+id/button_close"
android:layout_width="56dp"
android:layout_height="56dp"
android:layout_centerVertical="true"
android:layout_marginEnd="50dp"
android:layout_marginRight="50dp"
android:layout_toLeftOf="@+id/button_capture"
android:background="@drawable/close" />
</RelativeLayout>
</LinearLayout>
overlay.xml:
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/listview_background_shape">
<solid android:color="#88ffffff" />