Jak ustawić rozmiar podglądu kamery na kwadratowy współczynnik proporcji w kwadratowym widoku powierzchni (np. Instagram)
Próbuję rozwinąć własną aktywność aparatu, ale mam problem, którego nie jestem w stanie rozwiązać ...
To, czego chcę, jest czymś bardzo podobnym do ramki na zdjęcia z instagramu i to właśnie otrzymuję:
Kiedy powinienem otrzymać coś takiego:
i...
kiedy powinienem dostać coś takiego:
Myślę, że dobrze zarządzam podglądem SurfaceView i kamerą, tylko używając
Camera.Parameters parameters = camera.getParameters();
camera.setDisplayOrientation(90);
i niestandardowy widok powierzchni:
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;
}
}
Co robię źle? :-(