好吧,我这里遇到了一个奇怪的问题……我的目标是在相机预览的基础上绘图。我目前正在这样做:
<FrameLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1">
<com.brayden.icamera.DrawingSurfaceView
android:id="@+id/drawingSurface"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
<SurfaceView
android:id="@+id/cameraSurface"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
</FrameLayout>
在 DrawingSurfaceView 上绘图允许我在预览的顶部绘图...首先。但。如果先调用 onPause() 再调用 onResume(),我的绘图将不再显示在预览顶部。
更奇怪的是,如果我这样做:
<FrameLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1">
<SurfaceView
android:id="@+id/cameraSurface"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
<com.brayden.icamera.DrawingSurfaceView
android:id="@+id/drawingSurface"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
</FrameLayout>
翻转它们的堆叠方式,然后当应用程序启动时,您无法在预览顶部看到我的绘图,但是,如果调用 onPause() 和 onResume(),那么我的绘图就会开始显示。所以与另一种方式完全相反的行为。
此外,这只发生在第一个暂停/恢复周期。所以第一种方式,你看到我的画,直到你暂停并恢复应用程序,然后再也不会。第二种方式,你一开始看不到它,但如果你暂停/恢复,那么从那时起你就会看到绘图。这到底是怎么回事?
最佳答案
据我了解,任何类型的 SurfaceView 都不应该与其他东西重叠,因为 Android 人员尚未实现对此的支持。参见 this thread .
关于android - 在相机表面 View 上绘制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6036540/