Example #1
0
        public XFPopupDlg(Page _parent, Xamarin.Forms.View _content,  bool _cancelable, String _title, bool _rightClose, String _ok, String _ko)
        {
            var g = GenDialog (_content, _cancelable, _title, _rightClose, _ok, _ko);

            var svr = DependencyService.Get<IXFPopupSrvc> ();
            dlgNative = svr.CreateDialog(_parent, g, _cancelable);
        }
Example #2
0
        public XFPopupDlg(Page _parent, Xamarin.Forms.View _content, bool _cancelable, String _title, bool _rightClose, String _ok, String _ko)
        {
            var g = GenDialog(_content, _cancelable, _title, _rightClose, _ok, _ko);

            var svr = DependencyService.Get <IXFPopupSrvc> ();

            dlgNative = svr.CreateDialog(_parent, g, _cancelable);
        }
Example #3
0
        public App()
        {
            XFPopupConst.CONTROL_HEIGHT = (float) Device.GetNamedSize(NamedSize.Large, typeof(Label));
            btnTest = new Button
            {
                Text = "TEST",
                BackgroundColor = Color.Green
            };


            btnDrop = new Button
            {
                Text = "Drop",
                BackgroundColor = Color.Aqua
            };

            

            btnDrop.Clicked += (object sender, EventArgs e) =>
            {

                if (popCtrl == null)
                {
                    

                    
                    popCtrl = svr.CreateDropDown(
                        btnDrop,
                        new StackLayout
                        {
                            Children = {
                                new Label {
                                    Text = "1-2-3-4-5-6-7-8-9-0"
                                },
                                new Label {
                                    Text = "qwerty"
                                },
                                btnTest
                            }
                        }
                    );
                }

                if (popCtrl != null)
                {
                    popCtrl.Show();
                }

            };

            var content = new StackLayout
            {
                VerticalOptions = LayoutOptions.Center,
                Padding = new Thickness(5, 5, 5, 5),
                Children = {
                    new Label {
                        XAlign = TextAlignment.Center,
                        Text = "Welcome to Xamarin Forms!"
                    },
                    new Label {
                        XAlign = TextAlignment.Center,
                        Text = "Welcome to Xamarin Forms!"
                    },
                    new Label {
                        XAlign = TextAlignment.Center,
                        Text = "Welcome to Xamarin Forms!"
                    },
                    new Label {
                        XAlign = TextAlignment.Center,
                        Text = "Welcome to Xamarin Forms!"
                    },
                    new Label {
                        XAlign = TextAlignment.Center,
                        Text = "Welcome to Xamarin Forms!",
						//HeightRequest = 400
					},
                    btnDrop
                }
            };

            // The root page of your application
            page = new ContentPage
            {
                Content = content
            };


            btnTest.Clicked += async (object sender, EventArgs e) =>
            {
                //svr.ShowTopNoti(page, new Label { Text = "This is a notification" });

                var loading = svr.CreateLoading("Processing, please wait...");
                loading.Show();
                await Task.Delay(1000);
                loading.Hide();


                var anotherDropButton = new Button
                {
                    Text = "Drop in dialog"
                };

                IXFPopupCtrl anotherDropCtrl = null;

                anotherDropButton.Clicked += (b, c) =>
                {
                    if (anotherDropCtrl == null) {
                        anotherDropCtrl = svr.CreateDropDown(
                            anotherDropButton, 
                            new StackLayout
                            {
                                Children = {
                                    new Label {
                                        Text = "There is a popup in xlab library which use a relative layout to mimic the popup effect, but it's seem too slow for us (about 150~200ms for complex view). Frankly, I think Xamarin should spend more time for the layout mechanism, because of too many heavy work must invoke when we add/remove a view to/from a layout."
                                    }
                                }
                            }
                        );
                    }

                    anotherDropCtrl.Show();
                };

                var dlg = new XFPopupDlg(
                    page,
                    new StackLayout
                    {
                        Children = {
                            new Label{
                                Text = "POPOPOPOPO"
                            },
                            anotherDropButton
                        }
                    },
                    true,
                    "TEST",
                    true,
                    "OK",
                    "KO");




                dlg.OnResult += (XFPopupDlg dialog, bool result) =>
                {
                    if (!result)
                    {
                        dlg.Hide();
                    }
                    else
                    {

                        var newdlg = new XFPopupDlg(
                            page,
                            new StackLayout
                            {
                                Children = {
                                    new Label{
                                        Text = "Another overlap popup"
                                    }
                                }
                            },
                            true,
                            "NEW",
                            true,
                            "NEW OK",
                            null);


                        newdlg.OnResult += (XFPopupDlg ndlg, bool nresult) =>
                        {
                            ndlg.Hide();
                        };

                        newdlg.Show();

                    }

                    //dlg.Hide();
                };

                dlg.Show();

            };


            MainPage = page;

            StartTimer();
        }
Example #4
0
        public App()
        {
            XFPopupConst.CONTROL_HEIGHT = (float)Device.GetNamedSize(NamedSize.Large, typeof(Label));
            btnTest = new Button
            {
                Text            = "TEST",
                BackgroundColor = Color.Green
            };


            btnDrop = new Button
            {
                Text            = "Drop",
                BackgroundColor = Color.Aqua
            };



            btnDrop.Clicked += (object sender, EventArgs e) =>
            {
                if (popCtrl == null)
                {
                    popCtrl = svr.CreateDropDown(
                        btnDrop,
                        new StackLayout
                    {
                        Children =
                        {
                            new Label {
                                Text = "1-2-3-4-5-6-7-8-9-0"
                            },
                            new Label {
                                Text = "qwerty"
                            },
                            btnTest
                        }
                    }
                        );
                }

                if (popCtrl != null)
                {
                    popCtrl.Show();
                }
            };

            var content = new StackLayout
            {
                VerticalOptions = LayoutOptions.Center,
                Padding         = new Thickness(5, 5, 5, 5),
                Children        =
                {
                    new Label {
                        XAlign = TextAlignment.Center,
                        Text   = "Welcome to Xamarin Forms!"
                    },
                    new Label {
                        XAlign = TextAlignment.Center,
                        Text   = "Welcome to Xamarin Forms!"
                    },
                    new Label {
                        XAlign = TextAlignment.Center,
                        Text   = "Welcome to Xamarin Forms!"
                    },
                    new Label {
                        XAlign = TextAlignment.Center,
                        Text   = "Welcome to Xamarin Forms!"
                    },
                    new Label {
                        XAlign = TextAlignment.Center,
                        Text   = "Welcome to Xamarin Forms!",
                        //HeightRequest = 400
                    },
                    btnDrop
                }
            };

            // The root page of your application
            page = new ContentPage
            {
                Content = content
            };


            btnTest.Clicked += async(object sender, EventArgs e) =>
            {
                //svr.ShowTopNoti(page, new Label { Text = "This is a notification" });

                var loading = svr.CreateLoading("Processing, please wait...");
                loading.Show();
                await Task.Delay(1000);

                loading.Hide();


                var anotherDropButton = new Button
                {
                    Text = "Drop in dialog"
                };

                IXFPopupCtrl anotherDropCtrl = null;

                anotherDropButton.Clicked += (b, c) =>
                {
                    if (anotherDropCtrl == null)
                    {
                        anotherDropCtrl = svr.CreateDropDown(
                            anotherDropButton,
                            new StackLayout
                        {
                            Children =
                            {
                                new Label {
                                    Text = "There is a popup in xlab library which use a relative layout to mimic the popup effect, but it's seem too slow for us (about 150~200ms for complex view). Frankly, I think Xamarin should spend more time for the layout mechanism, because of too many heavy work must invoke when we add/remove a view to/from a layout."
                                }
                            }
                        }
                            );
                    }

                    anotherDropCtrl.Show();
                };

                var dlg = new XFPopupDlg(
                    page,
                    new StackLayout
                {
                    Children =
                    {
                        new Label {
                            Text = "POPOPOPOPO"
                        },
                        anotherDropButton
                    }
                },
                    true,
                    "TEST",
                    true,
                    "OK",
                    "KO");



                dlg.OnResult += (XFPopupDlg dialog, bool result) =>
                {
                    if (!result)
                    {
                        dlg.Hide();
                    }
                    else
                    {
                        var newdlg = new XFPopupDlg(
                            page,
                            new StackLayout
                        {
                            Children =
                            {
                                new Label {
                                    Text = "Another overlap popup"
                                }
                            }
                        },
                            true,
                            "NEW",
                            true,
                            "NEW OK",
                            null);


                        newdlg.OnResult += (XFPopupDlg ndlg, bool nresult) =>
                        {
                            ndlg.Hide();
                        };

                        newdlg.Show();
                    }

                    //dlg.Hide();
                };

                dlg.Show();
            };


            MainPage = page;

            StartTimer();
        }