Androidカメラプレビュー上に動的OpenGLを表示しようとしています。他のガイド/サイトで提案されている典型的なフレームワークを使用して、GLSurfaceView.Rendererインターフェイスを実装するオブジェクトを作成し、その後にsetContentView()とaddContentView()を使用しました。問題は、onDrawImageがカメラプレビューを表示するサーフェスホルダーの背後で発生していることです。
これはより大きなアプリケーションの一部であり、サイドアプリケーションですべてのコンポーネントを個別にテストしました。2つの違いは、大きなアプリケーションにはこのアクティビティの前にいくつかのアクティビティがあるのに対し、サイドアプリケーションはこのアクティビティだけをメインアプリケーションとして使用することです。
更新 答えは、setContentViewとaddContentViewの順序を切り替えることです。メインアプリケーションの場合は、この投稿の順序を使用してください。カメラビューのopenglオーバーレイ; ただし、別のアクティビティから来ている場合は、次を実行します。
setContentView(theCameraCallbackView)
addContentView(theOpenGLView, new LayoutParams( LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT ))
誰かがこれの背後にあるいくつかの理由を提供することができれば、それは大いにありがたいです!私はこの2行の交換に約8時間費やしているので、これの原因が何であるかを知ることは素晴らしいことです(そして、うまくいけば、他の人にとって同様の問題を防ぐことができます)。