android - 在相机表面 View 上绘制

标签 android xml layout android-camera

好吧,我这里遇到了一个奇怪的问题……我的目标是在相机预览的基础上绘图。我目前正在这样做:

    <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/

相关文章:

android - Phonegap - 设置 Phonegap

arrays - 在 XSLT 中创建动态数组

layout - TableView 的列数比指定的多

html - 如何使用 Flexbox 将一列中的两个框对齐,紧挨着一行?

java - Android 谷歌地图来自像浏览器一样的 fragment

android - 在 Android 中通过蓝牙传输图像

Android,如何放置两个相对布局,一个在屏幕的左边,一个在屏幕的右边?

xml - 如何在 weblogic 12.1.3 中指定 JAXBContext 实现

java - 文本按钮显示为点而不是普通文本

css - div 布局(浮在其他元素上)