1

私の理解では、この議論に基づいて、Android で 2 つのサーフェスビューをオーバーレイすることはできません。

https://groups.google.com/forum/?fromgroups=#!topic/android-developers/COffLpanlz0

これが機能しないことのさらなる証拠: GLSurfaceView/SurfaceView オーバーラップ

しかし、ここに回避策があるかどうか知りたいですか?それとも、これが Android 4.1 で変更されたのでしょうか?

Google フレームワーク エンジニアからの唯一の提案を以下に示します。または、これを達成する他の方法がある場合は?

「これはおそらく最善の方法ではありませんが、現時点ではウィンドウ内に複数のサーフェス ビューをオーバーラップさせることはできません。そのため、これを実現する唯一の方法は、メイン ウィンドウでオーバーレイをレンダリングすることです。参考までに、別のスレッドを使用して postInvalidate( ) は必要のない余分な作業です. メインスレッドから invalidate() を呼び出すだけです. そして, 少なくともオーバーレイの描画に関係するビュー階層の部分ができるだけ単純であることを確認したいでしょう.反復するビューが多くない) オーバーヘッドを可能な限り削減します。" - 引用テキストを表示 - hac...@android.com

4

1 に答える 1

1

Android 4.0 以降では、代わりに TextureView を使用する必要があります。お互いの上に必要な数の TextureView を積み重ねることができます。それらをアニメーション化することなどもできます。

于 2012-09-23T23:23:01.770 に答える