0

我有 SurfaceView setZOrderOnTop(true)。在绘图过程中,透明 SurfaceView 的背景需要此标志。

如何在它前面显示任何视图?

4

2 回答 2

0

SurfaceViews 不是为与其他视图复合而设计的。如setZOrderOnTop文档中所述,一旦设置此模式,SurfaceView 顶部将不会显示任何其他窗口内容。

如果你想进行合成,你必须自己在屏幕外进行,然后将结果绘制到 SurfaceView 中。

于 2012-02-07T12:02:41.000 回答
0

根据我的经验,这仍然有效。但是如果你使用RelativeLayout,它会很丑。

<FrameLayout 
    xmlns:tools="http://schemas.android.com/tools"
    xmlns:ads="http://schemas.android.com/apk/res-auto"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.example.applicationtest.MainActivity" >
    <SurfaceView
        android:id="@+id/surfaceView1"
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>

    <com.google.android.gms.ads.AdView
        android:id="@+id/adView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        ads:adSize="SMART_BANNER"
        ads:adUnitId="@string/banner_ad_unit_id">
    </com.google.android.gms.ads.AdView>
    <LinearLayout
        android:layout_marginTop="50sp"
        android:orientation="vertical"
        android:background="#44444444"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" >
        <TextView
            android:text="ttttttttttttttttttttt"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />
        <TextView
            android:text="ttttttttttttttttttttt"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />
        <TextView
            android:text="ttttttttttttttttttttt"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />
    </LinearLayout>

</FrameLayout>

WallPaperService 使用 SurfaceView。所以没有任何理由不能在SurfaceView的顶部...(我猜??)

于 2016-01-20T17:52:48.873 回答