[英]How to draw an overlay on a SurfaceView used by Camera on Android?
[英]How to overlay a custom drawing over a SurfaceView being used as camera preview?
我想要的是:
我想制作一個Camera
Activity(即顯示Camera Preview的Activity),其中一個正方形( 實際上是有點復雜的形狀,但是為了簡單起見我說是square )被疊加在Camera Preview上,以便用戶知道將相機放置在何處,以便將特定正方形的真實對象放置在重疊在相機預覽上的那個正方形內。
就像下圖中的相機預覽中的人臉形狀一樣,以便用戶可以將他們的臉放在那里。
我的解決方案:
我想到先擁有一個FrameLayout
,然后VectorDrawable
SurfaceView
進行相機預覽,並讓一個VectorDrawable
來覆蓋形狀,因為FrameLayout
會對其子級進行Z排序,以使VectorDrawable
最終被覆蓋在SurfaceView
。
問題:
我需要我的應用與API 11及更高版本兼容。 所以我不得不使用VectorDrawableCompat
。 要使用VectorDrawableCompat
,我們需要設置一個AAPT標志。 - 資源
問題在於,在網絡上的任何地方,設置此標志的方式都是針對Android Studio。 (就像這里描述的方法一樣)將幾行添加到項目的build.gradle文件中。
我找不到如何在Eclipse中設置此標志的方法。 我一直在搜索,最終安裝了Eclipse Buildship插件以在Eclipse中使用Gradle。 我遵循了本指南 。 當我將Gradle性質添加到我的Android項目中時,確實獲得了一個build.gradle
文件。 我粘貼了代碼以在其中啟用該AAPT標志, 但它根本沒有解決我的問題。
因此,我現在正在尋找一種替代方法來實現我的任務。 請告訴我不使用VectorDrawableCompat
怎么VectorDrawableCompat
?
我同意VectorDrawable比png文件更好。 但是我認為png是可以接受的,因為dp大小的ImageView會自動縮放圖像。
這是示例:
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<SurfaceView
android:layout_width="match_parent"
android:layout_height="match_parent"/>
<ImageView
android:layout_width="100dp"
android:layout_height="100dp"
android:scaleType="fitXY"
android:src="@drawable/face_shape"/>
</FrameLayout>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.