我增加了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