我有 SurfaceView setZOrderOnTop(true)
。在绘图过程中,透明 SurfaceView 的背景需要此标志。
如何在它前面显示任何视图?
我有 SurfaceView setZOrderOnTop(true)
。在绘图过程中,透明 SurfaceView 的背景需要此标志。
如何在它前面显示任何视图?
SurfaceViews 不是为与其他视图复合而设计的。如setZOrderOnTop文档中所述,一旦设置此模式,SurfaceView 顶部将不会显示任何其他窗口内容。
如果你想进行合成,你必须自己在屏幕外进行,然后将结果绘制到 SurfaceView 中。
根据我的经验,这仍然有效。但是如果你使用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的顶部...(我猜??)