、、、をこの順序で追加していますが、結果として、上から下へ(、、)、特定cameraView
の理由で順序付けられていますか?それは、それが内部的に自己を再描画するためですか?glSurfaceView
ImageView
relativeLayout
cameraView
imageView
glSurfaceView
glSurfaceView
追加のためのコードスニピット:
rel.addView(glView);
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);
params.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM,1);
params.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);
params.rightMargin = 20;
// add Camera to view
rel.addView(camPreview, new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
rel.addView(glView);
rel.addView(imageView,params);
質問は本当に..imageViewが常に一番上にあることをどのように保証できますか
GLSurfaceView's
onDrawFrame
メソッドがビューリストの一番上に移動していると思ったGlSurfaceView
ので、次のようなonDrawFrameメソッドからmainActivityのパブリックメソッドへの呼び出しを追加しました。
public void ajustOverlay(){
imageView.bringToFront();
Log.v("parent: ", "ajust overlay");
}
imageView
それでもトップを維持していないようです