예제 #1
0
        async void doCameraPhoto(PhotoListData pld)
        {
#if __ANDROID__
            MediaPicker picker = new MediaPicker(Forms.Context);
#else
            MediaPicker picker = new MediaPicker();
#endif

            if (picker.IsCameraAvailable == false)
            {
                var page   = new ContentPage();
                var result = page.DisplayAlert("Warning", "Camera is not available", "OK");

                return;
            }
            else
            {
                try
                {
                    var resultfile = await picker.TakePhoto(null);

#if __ANDROID__
                    showDrawingView(pld);
#else
                    showDrawingView(pld);
#endif
                }
                catch (Exception ex)
                {
                }
            }
        }
예제 #2
0
        async void doPhotoLibrary(PhotoListData pld)
        {
#if __ANDROID__
            MediaPicker picker = new MediaPicker(Forms.Context);
#else
            MediaPicker picker = new MediaPicker();
#endif

            if (picker.IsPhotoGalleryAvailable == false)
            {
                var page   = new ContentPage();
                var result = page.DisplayAlert("Warning", "Photo is not available", "OK");

                return;
            }
            else
            {
                try
                {
                    var resultfile = await picker.PickPhoto();

#if __ANDROID__
                    //showDrawingView(pld);
#else
                    //showDrawingView(pld);
#endif
                }
                catch (Exception e)
                {
                }
            }
        }
예제 #3
0
 async void showDrawingView(PhotoListData pld)
 {
     //var pv = new DrawingPhotoView();
     //pv.PhotoList = pld;
     //await Navigation.PushAsync(pv);
     //pld = pv.PhotoList;
 }
예제 #4
0
        async private Task doPhotoAction(PhotoListData pld)
        {
#if __ANDROID__
            var action = await DisplayActionSheet("Select Source", "Cancel", null, "Camera", "Photo Library");

            if (action == "Camera")
            {
                doCameraPhoto(pld);
            }
            else if (action == "Photo Library")
            {
                doPhotoLibrary(pld);
            }
#else
            if (App.isIOS8) // for iOS 8.0
            {
                var avAlert = UIAlertController.Create("Select Source", "", UIAlertControllerStyle.ActionSheet);
                avAlert.AddAction(UIAlertAction.Create("Camera", UIAlertActionStyle.Default, async(UIAlertAction obj) => doCameraPhoto(pld)));
                avAlert.AddAction(UIAlertAction.Create("Photo Library", UIAlertActionStyle.Default, async(UIAlertAction obj) => doPhotoLibrary(pld)));
                avAlert.AddAction(UIAlertAction.Create("Cancel", UIAlertActionStyle.Default, null));
                App.rootController.ShowViewController(avAlert, null);
            }
            else
            {
                var action = await DisplayActionSheet("Select Source", "Cancel", null, "Camera", "Photo Library");

                if (action == "Camera")
                {
                    doCameraPhoto(pld);
                }
                else if (action == "Photo Library")
                {
                    doPhotoLibrary(pld);
                }
                //doPhotoLibrary(pld);
            }
#endif
        }
예제 #5
0
        public HomeScreen()
        {
            pld = new PhotoListData();

            Title = "Camera Test";

            Button clickMe = new Button
            {
                Text = "Click Me!"
            };

            StackLayout mainContainer = new StackLayout
            {
                Orientation       = StackOrientation.Vertical,
                HorizontalOptions = LayoutOptions.FillAndExpand,
                VerticalOptions   = LayoutOptions.FillAndExpand,
                BackgroundColor   = Color.White,
                Spacing           = 0,
                Children          = { clickMe }
            };

            Content          = mainContainer;
            clickMe.Clicked += clickMe_Clicked;
        }
예제 #6
0
        async private Task doPhotoAction(PhotoListData pld)
        {
#if __ANDROID__
            var action = await DisplayActionSheet("Select Source", "Cancel", null, "Camera", "Photo Library");
            if (action == "Camera")
            {
                doCameraPhoto(pld);
            }
            else if (action == "Photo Library")
            {
                doPhotoLibrary(pld);
            }
#else
            if (App.isIOS8) // for iOS 8.0
            {
                var avAlert = UIAlertController.Create("Select Source", "", UIAlertControllerStyle.ActionSheet);
                avAlert.AddAction(UIAlertAction.Create("Camera", UIAlertActionStyle.Default, async (UIAlertAction obj) => doCameraPhoto(pld)));
                avAlert.AddAction(UIAlertAction.Create("Photo Library", UIAlertActionStyle.Default, async (UIAlertAction obj) => doPhotoLibrary(pld)));
                avAlert.AddAction(UIAlertAction.Create("Cancel", UIAlertActionStyle.Default, null));
                App.rootController.ShowViewController(avAlert, null);
            }
            else
            {
                var action = await DisplayActionSheet("Select Source", "Cancel", null, "Camera", "Photo Library");
                if (action == "Camera")
                {
                    doCameraPhoto(pld);
                }
                else if (action == "Photo Library")
                {
                    doPhotoLibrary(pld);
                }
                //doPhotoLibrary(pld);
            }
#endif
        }
예제 #7
0
        public HomeScreen()
        {
            pld = new PhotoListData();

            Title = "Camera Test";

            Button clickMe = new Button
            {
                Text = "Click Me!"
            };

            StackLayout mainContainer = new StackLayout
            {
                Orientation = StackOrientation.Vertical,
                HorizontalOptions = LayoutOptions.FillAndExpand,
                VerticalOptions = LayoutOptions.FillAndExpand,
                BackgroundColor = Color.White,
                Spacing = 0,
                Children = { clickMe }
            };

            Content = mainContainer;
            clickMe.Clicked += clickMe_Clicked;
        }
예제 #8
0
        async void doCameraPhoto(PhotoListData pld)
        {
#if __ANDROID__
            MediaPicker picker = new MediaPicker(Forms.Context);
#else
            MediaPicker picker = new MediaPicker();
#endif

            if (picker.IsCameraAvailable == false)
            {
                var page = new ContentPage();
                var result = page.DisplayAlert("Warning", "Camera is not available", "OK");

                return;
            }
            else
            {
                try
                {
                    var resultfile = await picker.TakePhoto(null);
#if __ANDROID__
                    showDrawingView(pld);
#else
                    showDrawingView(pld);
#endif
                }
                catch (Exception ex)
                {
                }
            }
        }
예제 #9
0
 async void showDrawingView(PhotoListData pld)
 {
     //var pv = new DrawingPhotoView();
     //pv.PhotoList = pld;
     //await Navigation.PushAsync(pv);
     //pld = pv.PhotoList;
 }
예제 #10
0
        async void doPhotoLibrary(PhotoListData pld)
        {
#if __ANDROID__
            MediaPicker picker = new MediaPicker(Forms.Context);
#else
            MediaPicker picker = new MediaPicker();
#endif

            if (picker.IsPhotoGalleryAvailable == false)
            {
                var page = new ContentPage();
                var result = page.DisplayAlert("Warning", "Photo is not available", "OK");

                return;
            }
            else
            {
                try
                {
                    var resultfile = await picker.PickPhoto();
#if __ANDROID__
                    //showDrawingView(pld);
#else
                    //showDrawingView(pld);
#endif
                }
                catch (Exception e)
                {
                }
            }
        }