protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); SetContentView(Resource.Layout.activity_main); surfaceView = (SurfaceView)FindViewById(Resource.Id.cameraView); surfaceHolder = surfaceView.Holder; surfaceHolder.AddCallback(this); mTango = new Tango(this); }
protected override void OnCreate(Bundle bundle) { base.OnCreate(bundle); number = 0; SetContentView(Resource.Layout.CameraTakePicScreen); isRunning = false; TextView header = FindViewById<TextView>(Resource.Id.txtFirstScreenHeader); ImageView btns = FindViewById<ImageView>(Resource.Id.imgNewUserHeader); RelativeLayout relLayout = FindViewById<RelativeLayout>(Resource.Id.relativeLayout1); ImageHelper.setupTopPanel(btns, header, relLayout, header.Context); Header.headertext = Application.Context.Resources.GetString(Resource.String.photoTitle); Header.fontsize = 36f; ImageHelper.fontSizeInfo(header.Context); header.SetTextSize(Android.Util.ComplexUnitType.Dip, Header.fontsize); header.Text = Header.headertext; SurfaceView surface = FindViewById<SurfaceView>(Resource.Id.surfaceCameraView); holder = surface.Holder; holder.AddCallback(this); holder.SetType(Android.Views.SurfaceType.PushBuffers); context = surface.Context; ImageButton takePicture = FindViewById<ImageButton>(Resource.Id.btnCamera); takePicture.Tag = 1; ImageButton flipView = FindViewById<ImageButton>(Resource.Id.imgFlipView); flipView.Tag = 2; ImageButton returnBack = FindViewById<ImageButton>(Resource.Id.imgBack); returnBack.Tag = 0; LinearLayout bottom = FindViewById<LinearLayout>(Resource.Id.bottomHolder); ImageButton[] btn = new ImageButton[3]; btn [0] = returnBack; btn [1] = takePicture; btn [2] = flipView; ImageHelper.setupButtonsPosition(btn, bottom, context); int back = (int)Android.Hardware.CameraFacing.Back; int front = (int)Android.Hardware.CameraFacing.Front; Android.Hardware.Camera.CameraInfo cameraInfo = new Android.Hardware.Camera.CameraInfo(); camera = null; int cameraCount = Android.Hardware.Camera.NumberOfCameras; if (cameraCount == 1) flipView.Visibility = ViewStates.Invisible; else { flipView.Click += delegate { if (isRunning) { camera.StopPreview(); isRunning = false; camera.Unlock(); //camera.Release(); if (cameraCount > 1 && camID < cameraCount - 1) camID++; else camID--; camera = Android.Hardware.Camera.Open(camID); isRunning = true; camera.Lock(); camera.StartPreview(); } }; } takePicture.Click += delegate { Android.Hardware.Camera.Parameters p = camera.GetParameters(); p.PictureFormat = Android.Graphics.ImageFormatType.Jpeg; camera.SetParameters(p); camera.TakePicture(this, this, this); }; returnBack.Click += (object sender, EventArgs e) => { Intent resultData = new Intent(); resultData.PutExtra("filename", fullFilename); if (fullFilename != "") SetResult(Result.Ok, resultData); else SetResult(Result.Canceled, resultData); Finish(); }; }