为什么我不能创建一个新的Camera.Size对象?

时间:2013-09-05 15:10:31

标签: android xamarin.android

在测试夹具中,我试图创建一个这样的模拟Android.Hardware.Camera.Size对象:

var test = new Android.Hardware.Camera.Size(12, 10);

但是我得到以下编译器错误:

  

无法访问受保护的成员   “Android.Hardware.Camera.Size.Size(System.IntPtr,   Android.Runtime.JniHandleOwnership)'通过类型的限定符   `Android.Hardware.Camera.Size”。限定符必须是类型   'TestCtrlz.Fixtures'或从中衍生出来

2 个答案:

答案 0 :(得分:0)

我认为你不能自己创建Size对象,但有些方法会让你回到那种对象。 例如,您可以使用以下方法检索支持的预览尺寸列表:

Camera camera = Camera.open();
Camera.Parameters parameters = camera.getParameters()
List<Camera.Size> supportedSizes = parameters.getSupportedPreviewSizes();

答案 1 :(得分:0)

糟糕!我在看Android API文档。单声道移植对象需要在公共构造函数中引用相机对象,因此:

var test = new Android.Hardware.Camera.Size(null, 12, 10);

为模拟对象提供技巧。