我增加了cameraView
,一个glSurfaceView
,并在为了一个ImageView
为relativeLayout
,但结果他们从顶部下到上排序(cameraView
,imageView
,glSurfaceView
)任何具体的原因是什么?是因为glSurfaceView
重新绘制它自己的内部?addView为了不工作
代码片段为加法:
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
方法使GlSurfaceView
到视图列表的顶部,所以我说一个电话回从onDrawFrame方法在mainActivity的公共方法,看起来像这样:
public void ajustOverlay(){
imageView.bringToFront();
Log.v("parent: ", "ajust overlay");
}
这似乎仍不保持imageView
之上
也许您可以使用视图层次结构工具? – 2012-07-20 22:23:07