コード例 #1
0
        /// <summary>
        /// Gets the main page.
        /// </summary>
        /// <returns>The Main Page.</returns>
        public static Page GetMainPage()
        {
            // Register our views with our view models
            ViewFactory.Register <MvvmSamplePage, MvvmSampleViewModel> ();
            ViewFactory.Register <NewPageView, NewPageViewModel> ();
            ViewFactory.Register <GeolocatorPage, GeolocatorViewModel> ();
            ViewFactory.Register <CameraPage, CameraViewModel> ();
            ViewFactory.Register <CacheServicePage, CacheServiceViewModel> ();
            ViewFactory.Register <SoundPage, SoundServiceViewModel> ();
            ViewFactory.Register <RepeaterViewPage, RepeaterViewViewModel>();

            var mainTab = new ExtendedTabbedPage()
            {
                Title = "Xamarin Forms Labs"
            };
            var mainPage = new NavigationPage(mainTab);

            mainTab.CurrentPageChanged += () => Debug.WriteLine("ExtendedTabbedPage CurrentPageChanged {0}", mainTab.CurrentPage.Title);

            var controls = GetControlsPage(mainPage);
            var services = GetServicesPage(mainPage);
            var mvvm     = ViewFactory.CreatePage <MvvmSampleViewModel> ();

            mainTab.Children.Add(controls);
            mainTab.Children.Add(services);
            mainTab.Children.Add(mvvm);

            return(mainPage);
        }
コード例 #2
0
        public static Page GetMainPage()
        {
            var mainPage = new ExtendedTabbedPage();

            mainPage.CurrentPageChanged +=
                () => Debug.WriteLine(string.Format("ExtendedTabbedPage CurrentPageChanged {0}", mainPage.CurrentPage.Title));

            var controls = new CarouselPage();

            controls.Title = "Controls";
            controls.Children.Add(new CalendarPage());

            var services = new CarouselPage();

            services.Title = "Services";
            services.Children.Add(new TextToSpeechPage());

            var buttons = new CarouselPage();

            buttons.Title = "Buttons";
            buttons.Children.Add(new ButtonPage());

            mainPage.Children.Add(controls);
            mainPage.Children.Add(services);
            mainPage.Children.Add(buttons);

            return(mainPage);
        }
コード例 #3
0
        protected override void OnElementChanged(ElementChangedEventArgs <Xamarin.Forms.TabbedPage> e)
        {
            base.OnElementChanged(e);

            if (e.NewElement != null)
            {
                if (ViewGroup.GetChildAt(0) is AWidget.RelativeLayout relativeLayout)
                {
                    _relativeLayout = relativeLayout;

                    if (relativeLayout.GetChildAt(1) is BottomNavigationView bottomNavigationView)
                    {
                        //var txt = new TextView(Context);
                        //txt.Text = "HalloHallo";
                        //txt.SetBackgroundColor(Android.Graphics.Color.Red);
                        //txt.LayoutParameters = parms1;

                        var count = _relativeLayout.ChildCount;


                        ExtendedTabbedPage page = e.NewElement as ExtendedTabbedPage;
                        var contentView         = page.TabHeaderContent;

                        var renderer = Platform.CreateRendererWithContext(contentView, this.Context);

                        if (Platform.GetRenderer(contentView) == null)
                        {
                            Platform.SetRenderer(contentView, renderer);
                        }

                        AWidget.RelativeLayout.LayoutParams layoutParms = new AWidget.RelativeLayout.LayoutParams(
                            LayoutParams.MatchParent, (int)contentView.HeightRequest);
                        layoutParms.AddRule(AWidget.LayoutRules.Above, bottomNavigationView.Id);



                        //Platform.SetRenderer(renderer)
                        renderer.Tracker.UpdateLayout();
                        var nativeView = renderer.View;


                        //view.SetBackground(Android.Widget.FrameLayout);
                        nativeView.LayoutParameters = layoutParms;
                        //SetNativeControl
                        //view.Layout(0, 0, (int)tb.TabHeaderContent.WidthRequest, (int)tb.TabHeaderContent.HeightRequest);
                        //view.tr
                        _relativeLayout.AddView(nativeView);
                        //_relativeLayout.UpdateViewLayout(view, parms1);
                        //var view = ConvertFormsToNative(tb.TabHeaderContent, new Rectangle(0, 0, 100, 100));

                        //_relativeLayout.AddView(view, count);
                        //_relativeLayout.AddView(view);

                        //_relativeLayout.AddView(txt, count);
                    }
                }
            }
        }
コード例 #4
0
        /// <summary>
        /// Gets the main page.
        /// </summary>
        /// <returns>The Main Page.</returns>
        public static Page GetMainPage()
        {
            // Register our views with our view models
            ViewFactory.Register <MvvmSamplePage, MvvmSampleViewModel>();
            ViewFactory.Register <NewPageView, NewPageViewModel>();
            ViewFactory.Register <GeolocatorPage, GeolocatorViewModel>();
            ViewFactory.Register <CameraPage, CameraViewModel>();
            ViewFactory.Register <CacheServicePage, CacheServiceViewModel>();
            ViewFactory.Register <SoundPage, SoundServiceViewModel>();
            ViewFactory.Register <RepeaterViewPage, RepeaterViewViewModel>();
            ViewFactory.Register <WaveRecorderPage, WaveRecorderViewModel>();

            var mainTab = new ExtendedTabbedPage()
            {
                Title                 = "XLabs",
                SwipeEnabled          = true,
                TintColor             = Color.White,
                BarTintColor          = Color.Blue,
                Badges                = { "1", "2", "3" },
                TabBarBackgroundImage = "ToolbarGradient2.png",
                TabBarSelectedImage   = "blackbackground.png",
            };

            var mainPage = new NavigationPage(mainTab);

            Resolver.Resolve <IDependencyContainer>()
            .Register <INavigationService>(t => new NavigationService(mainPage.Navigation));

            mainTab.CurrentPageChanged += () => Debug.WriteLine("ExtendedTabbedPage CurrentPageChanged {0}", mainTab.CurrentPage.Title);

            var controls = GetControlsPage(mainPage);
            var services = GetServicesPage(mainPage);
            var charts   = GetChartingPage(mainPage);
            var samples  = GetSamplesPage(mainPage);

            var mvvm = ViewFactory.CreatePage <MvvmSampleViewModel, Page>();

            mainTab.Children.Add(controls);
            mainTab.Children.Add(services);
            mainTab.Children.Add(charts);
            mainTab.Children.Add(mvvm as Page);
            mainTab.Children.Add(samples);

            return(mainPage);
        }
コード例 #5
0
        public static Page GetMainPage()
        {
            var tabPage = new ExtendedTabbedPage()
            {
                Title = "XForms Toolkit Samples"
            };
            var mainPage = new NavigationPage(tabPage);

            var controls = new ContentPage()
            {
                Title = "Controls"
            };

            controls.Title = "Controls";
            ListView lst = new ListView();

            lst.ItemsSource = new List <string>()
            {
                "Calendar", "AutoComplete"
            };
            lst.ItemSelected += (sender, e) => {
                switch (e.SelectedItem.ToString())
                {
                case "Calendar":
                    mainPage.Navigation.PushAsync(new CalendarPage());
                    break;

                case "AutoComplete":
                    mainPage.Navigation.PushAsync(new AutoCompletePage());
                    break;

                default:
                    break;
                }
            };

            controls.Content = lst;

            var services = new ContentPage()
            {
                Title = "Services"
            };
            ListView lstServices = new ListView();

            lstServices.ItemsSource = new List <string>()
            {
                "Text To Speech", "Device Info"
            };
            lstServices.ItemSelected += (sender, e) => {
                switch (e.SelectedItem.ToString())
                {
                case "Text To Speech":
                    mainPage.Navigation.PushAsync(new TextToSpeechPage());
                    break;

                case "Device Info":
                    mainPage.Navigation.PushAsync(new DeviceInfoPage());
                    break;

                default:
                    break;
                }
            };
            services.Content = lstServices;

            var buttons = new CarouselPage();

            buttons.Title = "Buttons";
            buttons.Children.Add(new ButtonPage());

            var labels = new CarouselPage();

            labels.Title = "Labels";
            labels.Children.Add(new ExtendedLabelPage());

            tabPage.Children.Add(controls);
            tabPage.Children.Add(services);
            tabPage.Children.Add(buttons);
            tabPage.Children.Add(labels);

            tabPage.CurrentPageChanged +=
                () => Debug.WriteLine(string.Format("ExtendedTabbedPage CurrentPageChanged {0}", tabPage.CurrentPage.Title));


            return(mainPage);
        }