示例#1
0
        private void ViewPager_PageSelected(object sender, PageSelectedEventArgs e)
        {
            if (e.Position != 0)
            {
                TitleInputFragment fragment = (TitleInputFragment)fragments[0];
                fragment.HideKeyboard();
            }

            if (e.Position == 1)
            {
                TopRatedFragment fragment = (TopRatedFragment)fragments[e.Position];
                fragment.GenerateTopRatedAsync();
            }
        }
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);

            Movies = new FilmCollection();
            MovieDbFactory.RegisterSettings(Movies);

            SetContentView(Resource.Layout.Main);

            var fragments = new Fragment[]
            {
                this._searchFragment   = new SearchFragment(Movies),
                this._topRatedFragment = new TopRatedFragment(Movies)
            };

            var titles = CharSequence.ArrayFromStringArray(new[] { "Search", "Top Rated" });

            var viewPager = FindViewById <ViewPager>(Resource.Id.viewpager);

            viewPager.Adapter = new TabsFragmentPagerAdapter(SupportFragmentManager, fragments, titles);

            var tabLayout = this.FindViewById <TabLayout>(Resource.Id.sliding_tabs);

            tabLayout.SetupWithViewPager(viewPager);

            tabLayout.TabSelected += async(sender, args) =>
            {
                if (fragments[args.Tab.Position] == this._topRatedFragment)
                {
                    this.ActionBar.Title = "Top Rated";
                    await this._topRatedFragment.GetTopRatedAsync();
                }
            };

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

            this.SetActionBar(toolbar);
            this.ActionBar.Title = "Movie Search";
        }
示例#3
0
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);


            // Set our view from the "main" layout resource
            SetContentView(Resource.Layout.Main);
            var topRatedFragment   = new TopRatedFragment(MovieService);
            var titleInputFragment = new TitleInputFragment(MovieService);
            var fragments          = new Fragment[]
            {
                titleInputFragment,
                topRatedFragment
            };
            var titles = CharSequence.ArrayFromStringArray(new[] { SEARCHBARTAB, TOPRATEDTAB });


            var viewPager = FindViewById <ViewPager>(Resource.Id.viewpager);

            viewPager.Adapter = new TabsFragmentPagerAdapter(SupportFragmentManager, fragments, titles);

            var tabLayout = this.FindViewById <TabLayout>(Resource.Id.sliding_tabs);

            tabLayout.SetupWithViewPager(viewPager);

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

            this.SetActionBar(toolbar);
            tabLayout.TabSelected += (object sender, TabLayout.TabSelectedEventArgs e) =>
            {
                if (e.Tab.Text.Equals(TOPRATEDTAB))
                {
                    InputMethodManager imm = (InputMethodManager)GetSystemService(Context.InputMethodService);
                    imm.HideSoftInputFromWindow(toolbar.WindowToken, 0);
                    topRatedFragment.LoadTopRatedMovies();
                }
            };
            this.ActionBar.Title = TABTITLE;
        }
示例#4
0
        public static void Construct(FragmentActivity activity, Toolbar toolbar)
        {
            var topRatedFragment = new TopRatedFragment();
            var fragments        = new Fragment[]
            {
                new MovieInputFragment(),
                topRatedFragment
            };
            var titles = CharSequence.ArrayFromStringArray(new[]
            {
                "Movie",
                "TopRated"
            });

            var viewPager = activity.FindViewById <ViewPager>(Resource.Id.viewpager);

            viewPager.Adapter = new TabsFragmentPagerAdapter(activity.SupportFragmentManager, fragments, titles);

            // Give the TabLayout the ViewPager
            var tabLayout = activity.FindViewById <TabLayout>(Resource.Id.sliding_tabs);

            tabLayout.SetupWithViewPager(viewPager);

            tabLayout.TabSelected += async(sender, args) =>
            {
                viewPager.Enabled = false;

                var tab = args.Tab;
                if (tab.Position == 1)
                {
                    await topRatedFragment.FetchTopRatedMovies();
                }

                viewPager.Enabled = true;
            };

            SetToolbar(activity, toolbar);
        }
示例#5
0
        public static void Construct(FragmentActivity activity, Toolbar toolbar)
        {
            _topRatedFragment = new TopRatedFragment();

            var fragments = new Fragment[]
            {
                new TitleSearchFragment(),
                _topRatedFragment
            };
            var titles = CharSequence.ArrayFromStringArray(new[]
            {
                "Search",
                "Top Rated"
            });

            var viewPager = activity.FindViewById <ViewPager>(Resource.Id.viewpager);

            viewPager.Adapter = new TabsFragmentPagerAdapter(activity.SupportFragmentManager, fragments, titles);

            // Give the TabLayout the ViewPager
            var tabLayout = activity.FindViewById <TabLayout>(Resource.Id.sliding_tabs);

            tabLayout.SetupWithViewPager(viewPager);

            tabLayout.TabSelected += async(sender, args) =>
            {
                viewPager.SetCurrentItem(args.Tab.Position, true);

                var tab = args.Tab;
                if (tab.Position == 1)
                {
                    await _topRatedFragment.downloadTopRated();
                }
            };

            SetToolbar(activity, toolbar);
        }