public RepositoryPage(RepositoryViewModel repositoryViewModel, AnalyticsService analyticsService, SortingService sortingService) : base(PageTitles.RepositoryPage, repositoryViewModel, analyticsService) { ViewModel.PullToRefreshFailed += HandlePullToRefreshFailed; SearchBarTextChanged += HandleSearchBarTextChanged; var collectionView = new CollectionView { ItemTemplate = new RepositoryDataTemplateSelector(sortingService), BackgroundColor = Color.Transparent, SelectionMode = SelectionMode.Single, AutomationId = RepositoryPageAutomationIds.CollectionView }; collectionView.SelectionChanged += HandleCollectionViewSelectionChanged; collectionView.SetBinding(CollectionView.ItemsSourceProperty, nameof(RepositoryViewModel.VisibleRepositoryList)); var repositoriesListRefreshView = new RefreshView { AutomationId = RepositoryPageAutomationIds.RefreshView, Content = collectionView }; repositoriesListRefreshView.SetDynamicResource(RefreshView.RefreshColorProperty, nameof(BaseTheme.RefreshControlColor)); repositoriesListRefreshView.SetBinding(RefreshView.IsRefreshingProperty, nameof(RepositoryViewModel.IsRefreshing)); repositoriesListRefreshView.SetBinding(RefreshView.CommandProperty, nameof(RepositoryViewModel.PullToRefreshCommand)); var settingsToolbarItem = new ToolbarItem { Text = "Settings", Order = Device.RuntimePlatform is Device.Android ? ToolbarItemOrder.Secondary : ToolbarItemOrder.Default, AutomationId = RepositoryPageAutomationIds.SettingsButton, }; settingsToolbarItem.Clicked += HandleSettingsToolbarItemCliked; ToolbarItems.Add(settingsToolbarItem); var sortToolbarItem = new ToolbarItem { Text = "Sort", IconImageSource = Device.RuntimePlatform is Device.iOS ? "Sort" : null, Order = Device.RuntimePlatform is Device.Android ? ToolbarItemOrder.Secondary : ToolbarItemOrder.Default, AutomationId = RepositoryPageAutomationIds.SortButton, }; sortToolbarItem.Clicked += HandleSortToolbarItemCliked; ToolbarItems.Add(sortToolbarItem); Content = repositoriesListRefreshView; }
public RepositoryPage(RepositoryViewModel repositoryViewModel, GitHubAuthenticationService gitHubAuthenticationService, bool isInitiatedByCallBackUri = false) : base(PageTitles.RepositoryPage, repositoryViewModel) { _shouldNavigateToSettingsPageOnAppearing = isInitiatedByCallBackUri; _gitHubAuthenticationService = gitHubAuthenticationService; ViewModel.PullToRefreshFailed += HandlePullToRefreshFailed; SearchBarTextChanged += HandleSearchBarTextChanged; var collectionView = new CollectionView { ItemTemplate = new RepositoryDataTemplate(), BackgroundColor = Color.Transparent, SelectionMode = SelectionMode.Single }; collectionView.SelectionChanged += HandleCollectionViewSelectionChanged; collectionView.SetBinding(CollectionView.ItemsSourceProperty, nameof(RepositoryViewModel.VisibleRepositoryList)); var repositoriesListRefreshView = new RefreshView { Content = collectionView }; repositoriesListRefreshView.SetDynamicResource(RefreshView.RefreshColorProperty, nameof(BaseTheme.RefreshControlColor)); repositoriesListRefreshView.SetBinding(RefreshView.IsRefreshingProperty, nameof(RepositoryViewModel.IsRefreshing)); repositoriesListRefreshView.SetBinding(RefreshView.CommandProperty, nameof(RepositoryViewModel.PullToRefreshCommand)); var settingsToolbarItem = new ToolbarItem { Text = "Settings", Order = Device.RuntimePlatform is Device.Android ? ToolbarItemOrder.Secondary : ToolbarItemOrder.Default }; settingsToolbarItem.Clicked += HandleSettingsToolbarItem; ToolbarItems.Add(settingsToolbarItem); Content = repositoriesListRefreshView; }
public ReferringSitesPage(DeepLinkingService deepLinkingService, ReferringSitesViewModel referringSitesViewModel, Repository repository, IAnalyticsService analyticsService, ThemeService themeService, ReviewService reviewService, IMainThread mainThread) : base(referringSitesViewModel, analyticsService, mainThread, PageTitles.ReferringSitesPage) { _reviewService = reviewService; _deepLinkingService = deepLinkingService; ViewModel.PullToRefreshFailed += HandlePullToRefreshFailed; reviewService.ReviewCompleted += HandleReviewCompleted; var collectionView = new CollectionView { AutomationId = ReferringSitesPageAutomationIds.CollectionView, BackgroundColor = Color.Transparent, ItemTemplate = new ReferringSitesDataTemplate(), SelectionMode = SelectionMode.Single, ItemsLayout = new LinearItemsLayout(ItemsLayoutOrientation.Vertical), //Set iOS Header to `new BoxView { HeightRequest = titleRowHeight + titleTopMargin }` following this bug fix: https://github.com/xamarin/Xamarin.Forms/issues/9879 Header = Device.RuntimePlatform is Device.Android ? new BoxView { HeightRequest = ReferringSitesDataTemplate.BottomPadding } : null, Footer = Device.RuntimePlatform is Device.Android ? new BoxView { HeightRequest = ReferringSitesDataTemplate.TopPadding } : null, EmptyView = new EmptyDataView("EmptyReferringSitesList", ReferringSitesPageAutomationIds.EmptyDataView) .Bind(IsVisibleProperty, nameof(ReferringSitesViewModel.IsEmptyDataViewEnabled)) .Bind(EmptyDataView.TitleProperty, nameof(ReferringSitesViewModel.EmptyDataViewTitle)) .Bind(EmptyDataView.DescriptionProperty, nameof(ReferringSitesViewModel.EmptyDataViewDescription)) }; collectionView.SelectionChanged += HandleCollectionViewSelectionChanged; collectionView.SetBinding(CollectionView.ItemsSourceProperty, nameof(ReferringSitesViewModel.MobileReferringSitesList)); _refreshView = new RefreshView { AutomationId = ReferringSitesPageAutomationIds.RefreshView, CommandParameter = (repository.OwnerLogin, repository.Name, repository.Url, _refreshViewCancelltionTokenSource.Token), Content = collectionView }; _refreshView.SetDynamicResource(RefreshView.RefreshColorProperty, nameof(BaseTheme.PullToRefreshColor)); _refreshView.SetBinding(RefreshView.CommandProperty, nameof(ReferringSitesViewModel.RefreshCommand)); _refreshView.SetBinding(RefreshView.IsRefreshingProperty, nameof(ReferringSitesViewModel.IsRefreshing)); var relativeLayout = new RelativeLayout(); //Add Title and Close Button to UIModalPresentationStyle.FormSheet if (Device.RuntimePlatform is Device.iOS) { const int titleTopMargin = 10; const int titleRowHeight = 50; var closeButton = new Button { Text = ReferringSitesPageConstants.CloseButtonText, FontFamily = FontFamilyConstants.RobotoRegular, HeightRequest = titleRowHeight * 3 / 5, HorizontalOptions = LayoutOptions.End, VerticalOptions = LayoutOptions.Center, AutomationId = ReferringSitesPageAutomationIds.CloseButton, Padding = new Thickness(5, 0) }; closeButton.Clicked += HandleCloseButtonClicked; closeButton.SetDynamicResource(Button.TextColorProperty, nameof(BaseTheme.CloseButtonTextColor)); closeButton.SetDynamicResource(BackgroundColorProperty, nameof(BaseTheme.CloseButtonBackgroundColor)); var titleLabel = new Label { FontSize = 30, Text = PageTitles.ReferringSitesPage, FontFamily = FontFamilyConstants.RobotoMedium, }.Center().TextCenterVertical(); titleLabel.SetDynamicResource(Label.TextColorProperty, nameof(BaseTheme.TextColor)); closeButton.Margin = titleLabel.Margin = new Thickness(0, titleTopMargin, 0, 0); var titleShadow = new BoxView(); titleShadow.SetDynamicResource(BackgroundColorProperty, nameof(BaseTheme.CardSurfaceColor)); if (isLightTheme(themeService.Preference)) { titleShadow.On <iOS>().SetIsShadowEnabled(true) .SetShadowColor(Color.Gray) .SetShadowOffset(new Size(0, 1)) .SetShadowOpacity(0.5) .SetShadowRadius(4); } relativeLayout.Children.Add(_refreshView, Constraint.Constant(0), Constraint.Constant(titleRowHeight), //Set to `0` following this bug fix: https://github.com/xamarin/Xamarin.Forms/issues/9879 Constraint.RelativeToParent(parent => parent.Width), Constraint.RelativeToParent(parent => parent.Height - titleRowHeight)); //Set to `parent => parent.Height` following this bug fix: https://github.com/xamarin/Xamarin.Forms/issues/9879 relativeLayout.Children.Add(titleShadow, Constraint.Constant(0), Constraint.Constant(0), Constraint.RelativeToParent(parent => parent.Width), Constraint.Constant(titleRowHeight)); relativeLayout.Children.Add(titleLabel, Constraint.Constant(10), Constraint.Constant(0)); relativeLayout.Children.Add(closeButton, Constraint.RelativeToParent(parent => parent.Width - closeButton.GetWidth(parent) - 10), Constraint.Constant(0), Constraint.RelativeToParent(parent => closeButton.GetWidth(parent))); } else { relativeLayout.Children.Add(_refreshView, Constraint.Constant(0), Constraint.Constant(0), Constraint.RelativeToParent(parent => parent.Width), Constraint.RelativeToParent(parent => parent.Height)); } relativeLayout.Children.Add(_storeRatingRequestView, Constraint.Constant(0), Constraint.RelativeToParent(parent => parent.Height - _storeRatingRequestView.GetHeight(parent)), Constraint.RelativeToParent(parent => parent.Width)); Content = relativeLayout;
public ReferringSitesPage(DeepLinkingService deepLinkingService, ReferringSitesViewModel referringSitesViewModel, Repository repository, AnalyticsService analyticsService, ReviewService reviewService) : base(referringSitesViewModel, analyticsService, PageTitles.ReferringSitesPage) { const int titleRowHeight = 50; const int titleTopMargin = 15; _deepLinkingService = deepLinkingService; _reviewService = reviewService; ViewModel.PullToRefreshFailed += HandlePullToRefreshFailed; reviewService.ReviewCompleted += HandleReviewCompleted; var collectionView = new CollectionView { AutomationId = ReferringSitesPageAutomationIds.CollectionView, BackgroundColor = Color.Transparent, ItemTemplate = new ReferringSitesDataTemplate(), SelectionMode = SelectionMode.Single, ItemsLayout = new LinearItemsLayout(ItemsLayoutOrientation.Vertical), //Set iOS Header to `new BoxView { HeightRequest = titleRowHeight + titleTopMargin }` following this bug fix: https://github.com/xamarin/Xamarin.Forms/issues/9879 Header = Device.RuntimePlatform is Device.Android ? new BoxView { HeightRequest = 8 } : null, Footer = Device.RuntimePlatform is Device.Android ? new BoxView { HeightRequest = 8 } : null, EmptyView = new EmptyDataView("EmptyReferringSitesList", ReferringSitesPageAutomationIds.EmptyDataView) .Bind(IsVisibleProperty, nameof(ReferringSitesViewModel.IsEmptyDataViewEnabled)) .Bind(EmptyDataView.TextProperty, nameof(ReferringSitesViewModel.EmptyDataViewText)) }; collectionView.SelectionChanged += HandleCollectionViewSelectionChanged; collectionView.SetBinding(CollectionView.ItemsSourceProperty, nameof(ReferringSitesViewModel.MobileReferringSitesList)); _refreshView = new RefreshView { AutomationId = ReferringSitesPageAutomationIds.RefreshView, CommandParameter = (repository.OwnerLogin, repository.Name, repository.Url, _refreshViewCancelltionTokenSource.Token), Content = collectionView }; _refreshView.SetDynamicResource(RefreshView.RefreshColorProperty, nameof(BaseTheme.PullToRefreshColor)); _refreshView.SetBinding(RefreshView.CommandProperty, nameof(ReferringSitesViewModel.RefreshCommand)); _refreshView.SetBinding(RefreshView.IsRefreshingProperty, nameof(ReferringSitesViewModel.IsRefreshing)); var relativeLayout = new RelativeLayout(); //Add Title and Close Button to UIModalPresentationStyle.FormSheet if (Device.RuntimePlatform is Device.iOS) { const int refreshViewTopPadding = titleRowHeight + 5; var closeButton = new Button { Text = "Close", FontFamily = FontFamilyConstants.RobotoRegular, HeightRequest = titleRowHeight * 3 / 5, HorizontalOptions = LayoutOptions.End, VerticalOptions = LayoutOptions.Center, AutomationId = ReferringSitesPageAutomationIds.CloseButton, Padding = new Thickness(5, 0), }; closeButton.Clicked += HandleCloseButtonClicked; closeButton.SetDynamicResource(Button.TextColorProperty, nameof(BaseTheme.NavigationBarTextColor)); closeButton.SetDynamicResource(Button.BorderColorProperty, nameof(BaseTheme.BorderButtonBorderColor)); closeButton.SetDynamicResource(BackgroundColorProperty, nameof(BaseTheme.NavigationBarBackgroundColor)); var titleRowBlurView = new BoxView { Opacity = 0.5 }; titleRowBlurView.SetDynamicResource(BackgroundColorProperty, nameof(BaseTheme.PageBackgroundColor)); var titleLabel = new Label { FontSize = 30, Text = PageTitles.ReferringSitesPage, FontFamily = FontFamilyConstants.RobotoMedium, }; titleLabel.SetDynamicResource(Label.TextColorProperty, nameof(BaseTheme.TextColor)); closeButton.Margin = titleLabel.Margin = new Thickness(0, titleTopMargin, 0, 0); relativeLayout.Children.Add(_refreshView, Constraint.Constant(0), Constraint.Constant(refreshViewTopPadding), //Set to `0` following this bug fix: https://github.com/xamarin/Xamarin.Forms/issues/9879 Constraint.RelativeToParent(parent => parent.Width), Constraint.RelativeToParent(parent => parent.Height - refreshViewTopPadding)); //Set to `parent => parent.Height` following this bug fix: https://github.com/xamarin/Xamarin.Forms/issues/9879 relativeLayout.Children.Add(titleRowBlurView, Constraint.Constant(0), Constraint.Constant(0), Constraint.RelativeToParent(parent => parent.Width), Constraint.Constant(titleRowHeight)); relativeLayout.Children.Add(titleLabel, Constraint.Constant(10), Constraint.Constant(0)); relativeLayout.Children.Add(closeButton, Constraint.RelativeToParent(parent => parent.Width - GetWidth(parent, closeButton) - 10), Constraint.Constant(0), Constraint.RelativeToParent(parent => GetWidth(parent, closeButton))); } else { relativeLayout.Children.Add(_refreshView, Constraint.Constant(0), Constraint.Constant(0), Constraint.RelativeToParent(parent => parent.Width), Constraint.RelativeToParent(parent => parent.Height)); } relativeLayout.Children.Add(_storeRatingRequestView, Constraint.Constant(0), Constraint.RelativeToParent(parent => parent.Height - GetHeight(parent, _storeRatingRequestView)), Constraint.RelativeToParent(parent => parent.Width)); Content = relativeLayout; }
public RepositoryPage(RepositoryViewModel repositoryViewModel, AnalyticsService analyticsService, SortingService sortingService, DeepLinkingService deepLinkingService) : base(repositoryViewModel, analyticsService, PageTitles.RepositoryPage) { _deepLinkingService = deepLinkingService; ViewModel.PullToRefreshFailed += HandlePullToRefreshFailed; SearchBarTextChanged += HandleSearchBarTextChanged; var collectionView = new CollectionView { ItemTemplate = new RepositoryDataTemplateSelector(sortingService), BackgroundColor = Color.Transparent, SelectionMode = SelectionMode.Single, AutomationId = RepositoryPageAutomationIds.CollectionView, //Work around for https://github.com/xamarin/Xamarin.Forms/issues/9879 Header = Device.RuntimePlatform is Device.Android ? new BoxView { HeightRequest = 8 } : null, Footer = Device.RuntimePlatform is Device.Android ? new BoxView { HeightRequest = 8 } : null, EmptyView = new EmptyDataView("EmptyRepositoriesList", RepositoryPageAutomationIds.EmptyDataView) .Bind <EmptyDataView, bool, bool>(IsVisibleProperty, nameof(RepositoryViewModel.IsRefreshing), convert: isRefreshing => !isRefreshing) .Bind(EmptyDataView.TextProperty, nameof(RepositoryViewModel.EmptyDataViewText)) }; collectionView.SelectionChanged += HandleCollectionViewSelectionChanged; collectionView.SetBinding(CollectionView.ItemsSourceProperty, nameof(RepositoryViewModel.VisibleRepositoryList)); _refreshView = new RefreshView { AutomationId = RepositoryPageAutomationIds.RefreshView, Content = collectionView }; _refreshView.SetDynamicResource(RefreshView.RefreshColorProperty, nameof(BaseTheme.PullToRefreshColor)); _refreshView.SetBinding(RefreshView.IsRefreshingProperty, nameof(RepositoryViewModel.IsRefreshing)); _refreshView.SetBinding(RefreshView.CommandProperty, nameof(RepositoryViewModel.PullToRefreshCommand)); var settingsToolbarItem = new ToolbarItem { Text = "Settings", IconImageSource = Device.RuntimePlatform is Device.iOS ? "Settings" : null, Order = Device.RuntimePlatform is Device.Android ? ToolbarItemOrder.Secondary : ToolbarItemOrder.Default, AutomationId = RepositoryPageAutomationIds.SettingsButton, Command = new AsyncCommand(ExecuteSetttingsToolbarItemCommand) }; ToolbarItems.Add(settingsToolbarItem); var sortToolbarItem = new ToolbarItem { Text = "Sort", Priority = 1, IconImageSource = Device.RuntimePlatform is Device.iOS ? "Sort" : null, Order = Device.RuntimePlatform is Device.Android ? ToolbarItemOrder.Secondary : ToolbarItemOrder.Default, AutomationId = RepositoryPageAutomationIds.SortButton, Command = new AsyncCommand(ExecuteSortToolbarItemCommand) }; ToolbarItems.Add(sortToolbarItem); //Work-around to prevent LargeNavigationBar from collapsing when CollectionView is scrolled; prevents janky animation when LargeNavigationBar collapses if (Device.RuntimePlatform is Device.iOS) { Content = new Grid { Children = { new BoxView { HeightRequest = 0 }, _refreshView } }; } else { Content = _refreshView; } }
public ReferringSitesPage(ReferringSitesViewModel referringSitesViewModel, Repository repository) : base(PageTitles.ReferringSitesPage, referringSitesViewModel) { var collectionView = new CollectionView { ItemTemplate = new ReferringSitesDataTemplateSelector(), SelectionMode = SelectionMode.Single }; collectionView.SelectionChanged += HandleCollectionViewSelectionChanged; collectionView.SetBinding(CollectionView.ItemsSourceProperty, nameof(ReferringSitesViewModel.ReferringSitesCollection)); _refreshView = new RefreshView { InputTransparent = true, CommandParameter = (repository.OwnerLogin, repository.Name), Content = collectionView }; _refreshView.SetDynamicResource(RefreshView.RefreshColorProperty, nameof(BaseTheme.RefreshControlColor)); _refreshView.SetBinding(RefreshView.CommandProperty, nameof(ReferringSitesViewModel.RefreshCommand)); _refreshView.SetBinding(RefreshView.IsRefreshingProperty, nameof(ReferringSitesViewModel.IsRefreshing)); if (Device.RuntimePlatform is Device.iOS) { var titleLabel = new Label { FontAttributes = FontAttributes.Bold, Text = PageTitles.ReferringSitesPage, FontSize = 30, VerticalTextAlignment = TextAlignment.Center, Margin = new Thickness(10, 0) }; titleLabel.SetDynamicResource(Label.TextColorProperty, nameof(BaseTheme.TextColor)); var grid = new Grid { RowDefinitions = { new RowDefinition { Height = new GridLength(50, GridUnitType.Absolute) }, new RowDefinition { Height = new GridLength(1, GridUnitType.Star) }, }, ColumnDefinitions = { new ColumnDefinition { Width = new GridLength(1, GridUnitType.Star) } } }; grid.Children.Add(titleLabel, 0, 0); grid.Children.Add(_refreshView, 0, 1); Content = grid; } else { Content = _refreshView; } }
public ReferringSitesPage(ReferringSitesViewModel referringSitesViewModel, Repository repository, AnalyticsService analyticsService) : base(PageTitles.ReferringSitesPage, referringSitesViewModel, analyticsService) { const int titleRowHeight = 50; const int titleTopMargin = 15; var collectionView = new CollectionView { AutomationId = ReferringSitesPageAutomationIds.CollectionView, ItemTemplate = new ReferringSitesDataTemplateSelector(), SelectionMode = SelectionMode.Single }; collectionView.SelectionChanged += HandleCollectionViewSelectionChanged; collectionView.SetBinding(CollectionView.ItemsSourceProperty, nameof(ReferringSitesViewModel.ReferringSitesCollection)); _refreshView = new RefreshView { AutomationId = ReferringSitesPageAutomationIds.RefreshView, CommandParameter = (repository.OwnerLogin, repository.Name), Content = collectionView }; _refreshView.SetDynamicResource(RefreshView.RefreshColorProperty, nameof(BaseTheme.RefreshControlColor)); _refreshView.SetBinding(RefreshView.CommandProperty, nameof(ReferringSitesViewModel.RefreshCommand)); _refreshView.SetBinding(RefreshView.IsRefreshingProperty, nameof(ReferringSitesViewModel.IsRefreshing)); //Add Title and Back Button to UIModalPresentationStyle.FormSheet if (Device.RuntimePlatform is Device.iOS) { var closeButton = new Button { AutomationId = ReferringSitesPageAutomationIds.CloseButton, Text = "Close", HorizontalOptions = LayoutOptions.End, VerticalOptions = LayoutOptions.Center, HeightRequest = titleRowHeight * 3 / 5, Padding = new Thickness(5, 0) }; closeButton.Clicked += HandleCloseButtonClicked; closeButton.SetDynamicResource(Button.TextColorProperty, nameof(BaseTheme.NavigationBarTextColor)); closeButton.SetDynamicResource(Button.BorderColorProperty, nameof(BaseTheme.TrendsChartSettingsBorderColor)); closeButton.SetDynamicResource(Button.BackgroundColorProperty, nameof(BaseTheme.NavigationBarBackgroundColor)); var titleRowBlurView = new BoxView { Opacity = 0.5 }; titleRowBlurView.SetDynamicResource(BackgroundColorProperty, nameof(BaseTheme.PageBackgroundColor)); collectionView.Header = new BoxView { HeightRequest = titleRowHeight + titleTopMargin }; var titleLabel = new Label { FontAttributes = FontAttributes.Bold, Text = PageTitles.ReferringSitesPage, FontSize = 30 }; titleLabel.SetDynamicResource(Label.TextColorProperty, nameof(BaseTheme.TextColor)); closeButton.Margin = titleLabel.Margin = new Thickness(0, titleTopMargin, 0, 0); var activityIndicator = new ActivityIndicator { AutomationId = ReferringSitesPageAutomationIds.ActivityIndicator, }; activityIndicator.SetDynamicResource(ActivityIndicator.ColorProperty, nameof(BaseTheme.RefreshControlColor)); activityIndicator.SetBinding(IsVisibleProperty, nameof(ReferringSitesViewModel.IsActivityIndicatorVisible)); activityIndicator.SetBinding(ActivityIndicator.IsRunningProperty, nameof(ReferringSitesViewModel.IsActivityIndicatorVisible)); var relativeLayout = new RelativeLayout(); relativeLayout.Children.Add(_refreshView, Constraint.Constant(0), Constraint.Constant(0), Constraint.RelativeToParent(parent => parent.Width), Constraint.RelativeToParent(parent => parent.Height)); relativeLayout.Children.Add(titleRowBlurView, Constraint.Constant(0), Constraint.Constant(0), Constraint.RelativeToParent(parent => parent.Width), Constraint.Constant(titleRowHeight)); relativeLayout.Children.Add(titleLabel, Constraint.Constant(10), Constraint.Constant(0)); relativeLayout.Children.Add(closeButton, Constraint.RelativeToParent(parent => parent.Width - GetWidth(parent, closeButton) - 10), Constraint.Constant(0), Constraint.RelativeToParent(parent => GetWidth(parent, closeButton))); relativeLayout.Children.Add(activityIndicator, Constraint.RelativeToParent(parent => parent.Width / 2 - GetWidth(parent, activityIndicator) / 2), Constraint.RelativeToParent(parent => parent.Height / 2 - GetHeight(parent, activityIndicator) / 2)); Content = relativeLayout; } else { Content = _refreshView; } }