好吧我已經在SO和網絡上經歷了很多類似的問題,但都無濟於事。 我只是試圖覆蓋一個SurfaceView上的透明視圖..並最終在其上繪製一個矩形,使它看起來覆蓋了相機預覽。如何使自定義疊加視圖在SurfaceView頂部透明?
我不能讓自定義視圖是透明的,它會阻止時的基礎攝像頭預覽。有什麼建議麼?
<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只是暫時的,證明它確實覆蓋了另一種觀點。
的FaceOverlayView僅僅是一個自定義視圖 - 直接從View派生,而無需重寫任何東西(現在)。
我得到一個黑色的長方形相機預覽
我們在應用程序之一,使用非常類似的設置,它似乎工作確定 - 嘗試重寫您的自定義視圖中的'onDraw'方法和做絕對沒有在它(不叫'super') ,這是否改善了事情? – Ertebolle
感謝您的建議,但不,我仍然只是看到頂部的黑色視圖。我已經嘗試在構造函數中將背景顏色設置爲透明以及XML聲明。現在,在派生視圖中,除了構造函數和空的onDraw以外沒有其他任何東西。 – Bobby
這看起來似乎過度殺傷了,但也許設置一個透明的圖片作爲背景將工作? – MrZander