Android库重叠矩形消失
问题描述:
我有一个显示相机预览的库。我想在预览顶部添加一个矩形叠加层。我尝试了两种不同的方法。但他们都很快显示矩形然后消失。 (使用view.getOverlay)Android库重叠矩形消失
mPreview.setZOrderMediaOverlay(true);
mPreview.setZOrderOnTop(true);
ViewGroup rootView = (ViewGroup)mActivity.getWindow().getDecorView().findViewById(android.R.id.content);
rootView.addView(mPreview);
final ViewOverlay overlay = mPreview.getOverlay();
final Bracket bracket = new Bracket();
mPreview.post(new Runnable() {
@Override
public void run() {
bracket.setBounds(0, 0, mPreview.getWidth(), mPreview.getHeight());
overlay.add(bracket);
}
});
方法(覆盖在surfaceview绘制函数)
@Override
public void draw(Canvas canvas) {
super.draw(canvas);
paint.setStyle(Paint.Style.STROKE);
paint.setColor(Color.GREEN);
paint.setStrokeWidth(10);
//center
int x0 = canvas.getWidth()/2;
int y0 = canvas.getHeight()/2;
int dx = canvas.getHeight()/3;
int dy = canvas.getHeight()/3;
//draw guide box
canvas.drawRect(x0-dx, y0-dy, x0+dx, y0+dy, paint);
}
mPreview延伸SurfaceView
支架延伸绘制对象
-
方法
UPDATE
如果我使用的
setContentView
代替rootView.addView
它按预期工作。但在这种情况下,我无法删除视图。
答
我用了一个新的Activity
和setContentView
。这解决了问题。 删除视图I finish
编辑该操作。
您可以在SurfaceView上添加一个imageView - 即使在您的xml中! –