示例#1
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            Title = "My Music";
            NavigationController.NavigationBar.PrefersLargeTitles = true;

            // Create refresh control
            _refreshControl = new MvxUIRefreshControl();
            RefreshControl  = _refreshControl;

            // Create table source
            _source = new ContentTableViewSource(TableView);

            // Create a segmented control (split between likes, and playlists)
            _segmentedControl = new SoundByteSegmentedControl(new[] { "Likes", "Playlists" });
            _segmentedControl.IndexChanged += OnSegmentedControlIndexChanged;

            TableView.TableHeaderView = _segmentedControl;

            // Apply constraints
            var constraints = View.VerticalStackPanelConstraints(new Margins(18, 0, 18, 0, 0, 0), _segmentedControl);

            View.AddConstraints(constraints);

            // Set source
            TableView.Source = _source;

            // Trigger the first click
            OnSegmentedControlIndexChanged(this, 0);
        }
示例#2
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            Title = "Podcasts";
            NavigationController.NavigationBar.PrefersLargeTitles = true;

            // Create refresh control
            var refreshControl = new MvxUIRefreshControl();

            RefreshControl = refreshControl;

            // Create table source
            var source = new ContentTableViewSource(TableView);

            // Init bindings
            var set = this.CreateBindingSet <PodcastsView, PodcastsViewModel>();

            set.Bind(refreshControl).For(x => x.RefreshCommand).To(vm => vm.RefreshCommand);
            set.Bind(refreshControl).For(x => x.IsRefreshing).To(vm => vm.IsLoading);
            set.Bind(source).For(x => x.ItemsSource).To(vm => vm.PageContent);
            set.Apply();

            // Load Content
            TableView.Source = source;
            TableView.ReloadData();
        }
示例#3
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            Title = "Home";
            NavigationController.NavigationBar.PrefersLargeTitles = true;
            NavigationItem.LargeTitleDisplayMode = UINavigationItemLargeTitleDisplayMode.Always;

            // Create refresh control
            var refreshControl = new MvxUIRefreshControl();

            TableView.RefreshControl = refreshControl;

            // Create the refresh button
            var refreshButton = new UIBarButtonItem(UIBarButtonSystemItem.Refresh);

            NavigationItem.RightBarButtonItem = refreshButton;

            // Create table source
            var source = new ContentTableViewSource(TableView);

            // Init bindings
            var set = this.CreateBindingSet <HomeView, HomeViewModel>();

            set.Bind(refreshButton).To(vm => vm.RefreshCommand);
            set.Bind(refreshControl).For(x => x.RefreshCommand).To(vm => vm.RefreshCommand);
            set.Bind(refreshControl).For(x => x.IsRefreshing).To(vm => vm.IsLoading);
            set.Bind(source).For(x => x.ItemsSource).To(vm => vm.PageContent);
            set.Apply();

            // Load Content
            TableView.Source = source;
            TableView.ReloadData();
        }
示例#4
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            Title = "Discover";
            NavigationController.NavigationBar.PrefersLargeTitles = true;

            // Grab the settings service
            var settingsService = Mvx.IoCProvider.Resolve <ISettingsService>();

            // Get the app mode (by default the app mode is both)
            var appMode = settingsService.GetPreference(SettingsService.AppMode, AppMode.Both);

            // Create a search controller
            _searchController = new UISearchController(searchResultsController: null)
            {
                DimsBackgroundDuringPresentation = true,
            };

            // Handle the click event
            _searchController.SearchBar.SearchButtonClicked += SearchBar_SearchButtonClicked;

            // Set the search controller
            NavigationItem.SearchController            = _searchController;
            NavigationItem.HidesSearchBarWhenScrolling = false;

            // Create refresh control
            _refreshControl = new MvxUIRefreshControl();
            RefreshControl  = _refreshControl;

            // Create table source
            _source = new ContentTableViewSource(TableView);

            // Create a segmented control (split between media, and podcasts) - only if app mode is both
            if (appMode == AppMode.Both)
            {
                _segmentedControl = new SoundByteSegmentedControl(new[] { "Media", "Podcasts" });
                _segmentedControl.IndexChanged += OnSegmentedControlIndexChanged;

                // Set on the table view
                TableView.TableHeaderView = _segmentedControl;
            }

            // Set source
            TableView.Source = _source;

            // Set the initial view
            switch (appMode)
            {
            case AppMode.Both:
            case AppMode.Media:
                ChangeSource(0);
                break;

            case AppMode.Podcast:
                ChangeSource(1);
                break;
            }
        }