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

Ich versuche, mich zu entwickeln, meine eigene Aktivität der Kamera, aber ich habe ein problem, dass ich nicht bin nicht in der Lage zu lösen...

Was ich will, ist etwas, das sehr ähnlich zu dem instagram-Foto-Rahmen, und dies ist, was ich bekomme:

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

Wenn ich sollte so etwas wie dieses:

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

...

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

Wann sollte ich etwas wie:

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

Ich glaube, ich bin maanaging die SurfaceView und Kamera-Vorschau gut, nur mit

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

und Benutzerdefinierte 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 ich falsch mache?? 🙁

InformationsquelleAutor der Frage cesards | 2012-06-20

Schreibe einen Kommentar