Как инициализировать новый Camera.Size в Android

Например:

int width = 720;
int height = 1280;

Я хочу создать Camera.Size.

Camera.Size size = new Camera.Size(width,height);

Но у него есть некоторая ошибка.

No enclosing instance of type Camera is accessible. Must qualify the allocation with an enclosing instance of type Camera (e.g. x.new A() where x is an instance of Camera).

Ответ 1

Собственно, требуется немного другой синтаксис:

Camera camera = Camera.open();
Camera.Size size = camera.new Size(width, height);

Ответ 2

Я знаю, что вы опубликовали свой вопрос давным-давно, но у меня есть некоторые объяснения об этой ошибке. Как вы видите здесь, класс Size объявляется открытым (но не статическим) в класс Camera. Здесь вы можете найти информацию об этой архитектуре .

Итак, чтобы создать новый объект Camera.Size, вам нужно начать с создания объекта Camera.

Camera camera = Camera.open();

Затем вы можете создать свой объект Camera.Size:

Camera.Size size = camera.new Camera.Size(width, height);

Я не уверен, что вы действительно хотите использовать этот способ для этого, но это объяснение вашей ошибки.