protected virtual MvxViewPagerFragmentInfo FindFragmentInfoFromAttribute(
            MvxFragmentPresentationAttribute attribute, MvxCachingFragmentStatePagerAdapter adapter)
        {
            MvxViewPagerFragmentInfo fragmentInfo = null;

            if (attribute.Tag != null)
            {
                fragmentInfo = adapter.FragmentsInfo.FirstOrDefault(f => f.Tag == attribute.Tag);
            }

            if (fragmentInfo != null)
            {
                return(fragmentInfo);
            }

            bool IsMatch(MvxViewPagerFragmentInfo info)
            {
                if (attribute.ViewType == null)
                {
                    return(false);
                }

                var viewTypeMatches = info.FragmentType == attribute.ViewType;

                if (attribute.ViewModelType != null)
                {
                    return(viewTypeMatches && info.ViewModelType == attribute.ViewModelType);
                }

                return(viewTypeMatches);
            }

            fragmentInfo = adapter.FragmentsInfo.FirstOrDefault(IsMatch);
            return(fragmentInfo);
        }
Exemplo n.º 2
0
        private ViewPager SetupViewPager()
        {
            var viewPager = FindViewById <ViewPager>(Resource.Id.viewpager);

            if (viewPager != null)
            {
                var adapter = new MvxCachingFragmentStatePagerAdapter(this, SupportFragmentManager, new[]
                {
                    new MvxCachingFragmentStatePagerAdapter.FragmentInfo("Match", typeof(MatchRecipeFragment),
                                                                         typeof(MatchRecipeViewModel)),
                    new MvxCachingFragmentStatePagerAdapter.FragmentInfo("Categories", typeof(CategoriesFragment),
                                                                         typeof(CategoriesViewModel)),
                    new MvxCachingFragmentStatePagerAdapter.FragmentInfo("Favorites", typeof(FavoritesFragment),
                                                                         typeof(FavoritesViewModel)),
                    new MvxCachingFragmentStatePagerAdapter.FragmentInfo("Settings", typeof(SettingsFragment),
                                                                         typeof(SettingsViewModel))
                });
                viewPager.Adapter       = adapter;
                viewPager.PageSelected += (sender, args) =>
                {
                    _isSearchActionVisible = args.Position == 0;
                    InvalidateOptionsMenu();
                };
            }
            return(viewPager);
        }
Exemplo n.º 3
0
        private void Init()
        {
            drawerLayout = FindViewById <DrawerLayout>(Resource.Id.DrawerLayout);
            drawerMenu   = FindViewById <LinearLayout>(Resource.Id.LeftMenu);

            var Toolbar = FindViewById <Toolbar>(Resource.Id.toolbar);

            if (Toolbar != null)
            {
                SetActionBar(Toolbar);
            }

            drawerToggle = new CustomDrawerToggle(this, drawerLayout, 0, 0);
            drawerLayout.AddDrawerListener(drawerToggle);
            drawerToggle.SyncState();
            drawerLayout.CloseDrawer(drawerMenu);

            var bottomNavigation = FindViewById <BottomNavigationView>(Resource.Id.bottom_navigation);

            var fragments = new List <MvxViewPagerFragmentInfo>()
            {
                new MvxViewPagerFragmentInfo("First", typeof(FirstView), new FirstViewModel()),
                new MvxViewPagerFragmentInfo("Second", typeof(SecondView), new SecondViewModel())
            };

            var adapter = new MvxCachingFragmentStatePagerAdapter(this, SupportFragmentManager, fragments);

            viewPager         = FindViewById <ViewPager>(Resource.Id.viewPager);
            viewPager.Adapter = adapter;

            bottomNavigation.SetOnNavigationItemSelectedListener(this);
        }
Exemplo n.º 4
0
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);
            Cheeseknife.Bind(this);
            this.framgments = new List <MvxViewPagerFragmentInfo>();

            this.framgments.Add(new MvxViewPagerFragmentInfo("Home", typeof(TimelineView), typeof(TimelineViewModel)));
            MvxCachingFragmentStatePagerAdapter adapter = new MvxCachingFragmentStatePagerAdapter(this, this.SupportFragmentManager, framgments);

            this.mainViewPage.Adapter = adapter;

            this.drawerToggle = new ActionBarDrawerToggle(this, drawerLayout, this.toolbar,
                                                          Resource.String.drawerOpen, Resource.String.drawerClose);
            this.drawerLayout.AddDrawerListener(this.drawerToggle);
        }
Exemplo n.º 5
0
        protected virtual MvxViewPagerFragmentInfo?FindFragmentInfoFromAttribute(
            MvxFragmentPresentationAttribute attribute,
            MvxCachingFragmentStatePagerAdapter adapter)
        {
            ValidateArguments(attribute);

            if (adapter == null)
            {
                throw new ArgumentNullException(nameof(adapter));
            }

            MvxViewPagerFragmentInfo?fragmentInfo = null;

            if (attribute.Tag != null)
            {
                fragmentInfo = adapter.FragmentsInfo?.FirstOrDefault(f => f.Tag == attribute.Tag);
            }

            if (fragmentInfo != null)
            {
                return(fragmentInfo);
            }

            bool IsMatch(MvxViewPagerFragmentInfo?info)
            {
                if (attribute.ViewType == null)
                {
                    return(false);
                }

                var viewTypeMatches = info?.FragmentType == attribute.ViewType;

                if (attribute.ViewModelType != null)
                {
                    return(viewTypeMatches && info?.Request?.ViewModelType == attribute.ViewModelType);
                }

                return(viewTypeMatches);
            }

            fragmentInfo = adapter.FragmentsInfo?.FirstOrDefault(IsMatch);
            return(fragmentInfo);
        }
        public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
        {
            var view = base.OnCreateView(inflater, container, savedInstanceState);

            viewPager = view.FindViewById <UnscrollingViewPager>(Resource.Id.points_view_pager);
            viewPager.SetPagingEnabled(true);
            PointsSmoothViewPagerHelper.Customize(viewPager);
            if (viewPager != null)
            {
                fragments = new List <MvxViewPagerFragmentInfo>
                {
                    new MvxViewPagerFragmentInfo(tabTitles[0], typeof(PointsFragment), (Activity as MainActivity).vmHelper.PointsVM),
                    new MvxViewPagerFragmentInfo(tabTitles[1], typeof(LeaderboardFragment), (Activity as MainActivity).vmHelper.LeaderboardVM),
                    new MvxViewPagerFragmentInfo(tabTitles[2], typeof(TransactionsFragment), (Activity as MainActivity).vmHelper.TransactionsVM),
                };
                pagerAdapter = new MvxCachingFragmentStatePagerAdapter(Activity, this.ChildFragmentManager, fragments);

                viewPager.Adapter = pagerAdapter;
                tabLayout         = view.FindViewById <TabLayout>(Resource.Id.points_tabs);
                tabLayout.SetupWithViewPager(viewPager);
                viewPager.AddOnPageChangeListener(this);

                tabLayout.SetupWithViewPager(viewPager);
                for (int i = 0; i < tabLayout.TabCount; i++)
                {
                    TabLayout.Tab tab = tabLayout.GetTabAt(i);
                    tab.SetCustomView(GetTabView(i));
                }
                tabLayout.AddOnTabSelectedListener(this);
                TabHighlited(tabLayout.GetTabAt(0));
            }
            ViewModel.AddCurrentVM += ViewModel_AddCurrentVM;

            (Activity as MainActivity).vmHelper.PointsVM.DetailsViewOpened += (s, e) => {
                viewPager.SetPagingEnabled(!e);
            };
            return(view);
        }
Exemplo n.º 7
0
        private void SetUpViewPager()
        {
            if (viewPager == null)
            {
                return;
            }
            _navigationService = Mvx.Resolve <IMvxNavigationService>();
            var _locationService = Mvx.Resolve <ILocationService>();

            _assetService             = Mvx.Resolve <IPlatformAssetService>();
            _alertService             = Mvx.Resolve <IAlertService>();
            _messenger                = Mvx.Resolve <IMvxMessenger>();
            _localNotificationService = Mvx.Resolve <ILocalNotificationService>();
            fragments = new List <MvxViewPagerFragmentInfo>();
            fragments.Add(new MvxViewPagerFragmentInfo("", typeof(Intro1Fragment), new Intro1ViewModel(_navigationService, _alertService, _assetService, _localNotificationService)));
            fragments.Add(new MvxViewPagerFragmentInfo("", typeof(Intro2Fragment), new Intro2ViewModel(_navigationService, _alertService, _assetService, _localNotificationService)));
            fragments.Add(new MvxViewPagerFragmentInfo("", typeof(Intro3Fragment), new Intro3ViewModel(_navigationService, _alertService, _assetService, _localNotificationService)));
            fragments.Add(new MvxViewPagerFragmentInfo("", typeof(Intro4Fragment), new Intro4ViewModel(_navigationService, _alertService, _assetService, _localNotificationService)));
            fragments.Add(new MvxViewPagerFragmentInfo("", typeof(NetworksFragment), new NetworksViewModel(_navigationService, _locationService, _alertService, _assetService, _localNotificationService, _messenger)));
            viewPager.AddOnPageChangeListener(this);
            _adapter          = new MvxCachingFragmentStatePagerAdapter(this, SupportFragmentManager, fragments);
            viewPager.Adapter = _adapter;
        }