0
我有一個顯示相機預覽的庫。我想在預覽頂部添加一個矩形疊加層。我嘗試了兩種不同的方法。但他們都很快顯示矩形然後消失。 (使用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
它按預期工作。但在這種情況下,我無法刪除視圖。
您可以在SurfaceView上添加一個imageView - 即使在您的xml中! –