OK Przejrzałem wiele podobnych pytań tutaj na SO i w Internecie, bez skutku. Po prostu próbuję nakładać przezroczysty widok na SurfaceView ... i ostatecznie narysować na nim prostokąt, który wydaje się nakładać podgląd kamery.Jak zrobić niestandardową nakładkę Wyświetl przezroczystość na SurfaceView?
Nie mogę uzyskać niestandardowego widoku, który jest przezroczysty, blokuje podgląd podświetlenia kamery. Jakieś sugestie?
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<FrameLayout
android:layout_alignParentTop="true"
android:layout_width="fill_parent"
android:layout_height="400dip">
<SurfaceView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/drawSurface" />
<com.bobby.facecapture.FaceOverlayView
android:id="@+id/drawOverlay"
android:background="@android:color/transparent"
android:layout_width="200dip"
android:layout_height="200dip"
/>
</FrameLayout>
</RelativeLayout>
200x200 jest tylko tymczasowy, aby udowodnić, że rzeczywiście nakłada się na inny widok.
FaceOverlayView jest po prostu niestandardowym widokiem - pochodzącym bezpośrednio z widoku, bez nadpisywania czegokolwiek (na razie).
I pojawia się czarny prostokąt na górze podglądu kamery
Używamy bardzo podobną konfigurację w jednej z naszych aplikacji i wydaje się działać OK - spróbuj przesłanianie 'metody onDraw' w widoku niestandardowego i robi absolutnie nic w nim (nie nazywają' super') Czy to się poprawi? – Ertebolle
Dzięki za sugestię, ale nie, wciąż mam czarny widok na wierzchu. Próbowałem ustawić kolor tła na przezroczysty w konstruktorach, a także deklarację XML. Teraz w widoku pochodnym nie ma nic oprócz konstruktorów i pustego obiektu onDraw. – Bobby
To może wydawać się przesadą, ale może ustawienie przezroczystego obrazu w tle zadziała? – MrZander