Wie kann ich die Größe der Kameravorschau in einem quadratischen SurfaceView (wie Instagram) auf das quadratische Seitenverhältnis einstellen?

Ich versuche, meine eigene Kameraaktivität zu entwickeln, aber ich habe ein Problem, das ich nicht lösen kann ...

Was ich möchte, ist etwas sehr ähnliches wie ein Instagram-Fotorahmen, und das bekomme ich:

Wann sollte ich so etwas bekommen:

und...

wenn ich etwas bekommen sollte wie:

Ich denke, ich verwalte die SurfaceView- und Kamera-Vorschau gut, nur mit

Camera.Parameters parameters = camera.getParameters();
camera.setDisplayOrientation(90);

und Custom SurfaceView:

public class SquaredSurfaceView extends SurfaceView {

private int width;
private int height;

public SquaredSurfaceView(Context context) {
    super(context);
}

public SquaredSurfaceView(Context context, AttributeSet attrs) {
    super(context, attrs);
}

public SquaredSurfaceView(Context context, AttributeSet attrs, int defStyle) {
    super(context, attrs, defStyle);
}

@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
    super.onMeasure(widthMeasureSpec, heightMeasureSpec);
    width = MeasureSpec.getSize(widthMeasureSpec);
    height = width;
    setMeasuredDimension(width, width);
}

public int getViewWidth() {
    return width;
}

public int getViewHeight() {
    return height;
}

}

Was mache ich falsch? :-(

Antworten auf die Frage(6)

Ihre Antwort auf die Frage