private AbsListView.IOnScrollListener CreateScrollListener() { TextView footerScrollText = Activity.FindViewById <TextView> ( Resource.Id.FooterScrollText ); string scrollTextFormat = GetString(Resource.String.ScrollTextFormat); AbsListView.IOnScrollListener scrollListener = new ScrollListener ( updateScroll: (firstVisibleItem, visibleItemCount, totalItemCount) => { footerScrollText.Text = (visibleItemCount == 0) ? string.Empty : string.Format(scrollTextFormat, firstVisibleItem + 1, firstVisibleItem + visibleItemCount, totalItemCount); } ); return(scrollListener); }
public override void OnViewCreated(View view, Bundle savedInstanceState) { if (!IsInitialized) { base.OnViewCreated(view, savedInstanceState); Presenter.SourceChanged += PresenterSourceChanged; _adapter = new FeedAdapter <FeedPresenter>(Context, Presenter); _adapter.PostAction += PostAction; _adapter.AutoLinkAction += AutoLinkAction; _logo.Click += OnLogoClick; _browseButton.Click += GoToBrowseButtonClick; _toolbar.OffsetChanged += OnToolbarOffsetChanged; _scrollListner = new ScrollListener(); _scrollListner.ScrolledToBottom += LoadPosts; _refresher.Refresh += OnRefresh; _feedList.SetAdapter(_adapter); _feedList.SetLayoutManager(new LinearLayoutManager(Android.App.Application.Context)); _feedList.AddOnScrollListener(_scrollListner); _postPager.SetClipToPadding(false); _postPager.SetPadding(Style.PostPagerMargin * 2, 0, Style.PostPagerMargin * 2, 0); _postPager.PageMargin = Style.PostPagerMargin; _postPager.PageScrollStateChanged += PostPagerOnPageScrollStateChanged; _postPager.PageScrolled += PostPagerOnPageScrolled; _postPagerAdapter = new PostPagerAdapter <FeedPresenter>(_postPager, Context, Presenter); _postPagerAdapter.PostAction += PostAction; _postPagerAdapter.AutoLinkAction += AutoLinkAction; _postPagerAdapter.CloseAction += CloseAction; _postPager.Adapter = _postPagerAdapter; _postPager.SetPageTransformer(false, _postPagerAdapter, (int)LayerType.None); _emptyQueryLabel.Typeface = Style.Light; _emptyQueryLabel.Text = AppSettings.LocalizationManager.GetText(LocalizationKeys.EmptyCategory); _mainMessage.Text = AppSettings.LocalizationManager.GetText(LocalizationKeys.Greeting); _hintMessage.Text = AppSettings.LocalizationManager.GetText(LocalizationKeys.EmptyFeedHint); _browseButton.Text = AppSettings.LocalizationManager.GetText(LocalizationKeys.GoToBrowse); LoadPosts(); } var postUrl = Activity?.Intent?.GetStringExtra(CommentsFragment.ResultString); if (!string.IsNullOrWhiteSpace(postUrl)) { var count = Activity.Intent.GetIntExtra(CommentsFragment.CountString, 0); Activity.Intent.RemoveExtra(CommentsFragment.ResultString); Activity.Intent.RemoveExtra(CommentsFragment.CountString); var post = Presenter.FirstOrDefault(p => p.Url == postUrl); post.Children += count; _adapter.NotifyDataSetChanged(); } }
public override async void OnResume() { base.OnResume(); if (Network.State != NetworkState.Disconnected) { historyList = await MeritMoneyBrain.GetHistory(Offset, BatchSize, type); LoadingPanel.Visibility = ViewStates.Gone; } else { LoadingPanel.Visibility = ViewStates.Invisible; NoInternetText.Visibility = ViewStates.Visible; } Refresh.Refresh += History_Refresh; RecyclerViewManager = new LinearLayoutManager(this.Context); HistoryView.SetLayoutManager(RecyclerViewManager); RecyclerViewAdapter = new HistoryAdapter(historyList, this.Context, LastHistoryItemDate, users); HistoryView.SetAdapter(RecyclerViewAdapter); mScrollListener = new ScrollListener(RecyclerViewManager, historyList, type); HistoryView.AddOnScrollListener(mScrollListener); for (int i = 0; i < historyList.Count(); i++) { new CacheListItemImage(RecyclerViewAdapter, i, Application.Context).Execute(historyList[i]); } }
public override void OnScroll(object sender, ScrollEventArgs e) { RequestExpandItems(e.FirstVisibleItem + e.VisibleItemCount); e.IsFirstRow = e.FirstVisibleItem <= 0; e.IsLastRow = e.TotalItemCount * _desiredColumnCount >= StackList?.Count; ScrollListener?.OnScroll(sender, e); ScrollCommand?.Execute(scrollEventArgs); }
private void BindCollection() { adapter = Vm.Images.GetRecyclerAdapter(BindViewHolder, Resource.Layout.Tmpl_SubredditThumbnail, ItemClicked); SubGalleryRecyclerView.SetAdapter(adapter); SubGalleryRecyclerView.ClearOnScrollListeners(); var listener = new ScrollListener(Vm.Images); SubGalleryRecyclerView.AddOnScrollListener(listener); }
private void BindCollection() { var layoutManager = new AutoFitStaggeredLayoutManager(180, StaggeredGridLayoutManager.Vertical, Context); GalleryRecyclerView.SetLayoutManager(layoutManager); var adapter = Vm.Images.GetRecyclerAdapter(BindViewHolder, Resource.Layout.Tmpl_GalleryThumbnail, ItemClicked); GalleryRecyclerView.SetAdapter(adapter); GalleryRecyclerView.ClearOnScrollListeners(); var listener = new ScrollListener(Vm.Images); GalleryRecyclerView.AddOnScrollListener(listener); }
public override void OnViewCreated(View view, Bundle savedInstanceState) { if (IsInitialized) { return; } base.OnViewCreated(view, savedInstanceState); _searchView.Hint = AppSettings.LocalizationManager.GetText(LocalizationKeys.SearchHint); _searchView.SetFilters(new IInputFilter[] { new TextInputFilter(TextInputFilter.TagFilter) }); _tagsButton.Text = AppSettings.LocalizationManager.GetText(LocalizationKeys.Tag); _peopleButton.Text = AppSettings.LocalizationManager.GetText(LocalizationKeys.Users); _clearButton.Text = AppSettings.LocalizationManager.GetText(LocalizationKeys.Clear); _emptyQueryLabel.Text = AppSettings.LocalizationManager.GetText(LocalizationKeys.EmptyQuery); _searchView.TextChanged += OnSearchViewOnTextChanged; _categories.SetLayoutManager(new LinearLayoutManager(Activity)); _users.SetLayoutManager(new LinearLayoutManager(Activity)); _searchFacade.UserFriendPresenter.SourceChanged += UserFriendPresenterSourceChanged; _searchFacade.TagsPresenter.SourceChanged += TagsPresenterSourceChanged; _categoriesAdapter = new TagsAdapter(_searchFacade.TagsPresenter); _usersSearchAdapter = new FollowersAdapter(Activity, _searchFacade.UserFriendPresenter); _categories.SetAdapter(_categoriesAdapter); _users.SetAdapter(_usersSearchAdapter); _scrollListner = new ScrollListener(); _scrollListner.ScrolledToBottom += GetTags; _users.AddOnScrollListener(_scrollListner); _categoriesAdapter.Click += OnClick; _usersSearchAdapter.UserAction += OnClick; _usersSearchAdapter.FollowAction += Follow; _timer = new Timer(OnTimer); _searchView.Typeface = Style.Regular; _clearButton.Typeface = Style.Regular; _clearButton.Visibility = ViewStates.Gone; _clearButton.Click += OnClearClick; _tagsButton.Click += TagsClick; _peopleButton.Click += PeopleClick; SwitchSearchType(false); _searchView.RequestFocus(); ((BaseActivity)Activity).OpenKeyboard(_searchView); _emptyQueryLabel.Typeface = Style.Light; _emptyQueryLabel.Visibility = ViewStates.Invisible; }
public override void OnViewCreated(View view, Bundle savedInstanceState) { if (IsInitialized) { return; } base.OnViewCreated(view, savedInstanceState); _isFollowers = Activity.Intent.GetBooleanExtra(IsFollowersExtra, false); Presenter.FollowType = _isFollowers ? FriendsType.Followers : FriendsType.Following; Presenter.SourceChanged += PresenterSourceChanged; var count = Activity.Intent.GetIntExtra(CountExtra, 0); _peopleCount.Text = AppSettings.LocalizationManager.GetText(LocalizationKeys.PeopleText, count); _username = Activity.Intent.GetStringExtra(UsernameExtra) ?? AppSettings.User.Login; _backButton.Visibility = ViewStates.Visible; _backButton.Click += GoBackClick; _switcher.Visibility = ViewStates.Gone; _settings.Visibility = ViewStates.Gone; _viewTitle.Text = Presenter.FollowType.GetDescription(); _viewTitle.Typeface = Style.Semibold; _peopleCount.Typeface = Style.Regular; _adapter = new FollowersAdapter(Activity, Presenter); _adapter.FollowAction += Follow; _adapter.UserAction += UserAction; var scrollListner = new ScrollListener(); scrollListner.ScrolledToBottom += LoadItems; _followersList.SetAdapter(_adapter); _followersList.SetLayoutManager(new LinearLayoutManager(Activity)); _followersList.AddOnScrollListener(scrollListner); _emptyQueryLabel.Typeface = Style.Light; _emptyQueryLabel.Text = AppSettings.LocalizationManager.GetText(LocalizationKeys.EmptyCategory); LoadItems(); }
public override void OnViewCreated(View view, Bundle savedInstanceState) { if (IsInitialized) { return; } base.OnViewCreated(view, savedInstanceState); var count = Activity.Intent.GetIntExtra(FeedFragment.PostNetVotesExtraPath, 0); _peopleCount.Text = AppSettings.LocalizationManager.GetText(LocalizationKeys.PeopleText, count); _backButton.Visibility = ViewStates.Visible; _backButton.Click += GoBackClick; _switcher.Visibility = ViewStates.Gone; _settings.Visibility = ViewStates.Gone; _viewTitle.Typeface = Style.Semibold; _peopleCount.Typeface = Style.Regular; _isLikers = Activity.Intent.GetBooleanExtra(VotersType, true); _viewTitle.Text = AppSettings.LocalizationManager.GetText(_isLikers ? LocalizationKeys.Voters : LocalizationKeys.FlagVoters); _url = Activity.Intent.GetStringExtra(FeedFragment.PostUrlExtraPath); Presenter.SourceChanged += PresenterSourceChanged; Presenter.VotersType = _isLikers ? Core.Models.Enums.VotersType.Likes : Core.Models.Enums.VotersType.Flags; _adapter = new FollowersAdapter(Activity, Presenter); _adapter.UserAction += OnClick; _adapter.FollowAction += OnFollow; _votersList.SetAdapter(_adapter); var scrollListner = new ScrollListener(); scrollListner.ScrolledToBottom += LoadNext; _votersList.AddOnScrollListener(scrollListner); _votersList.SetLayoutManager(new LinearLayoutManager(Activity)); _emptyQueryLabel.Typeface = Style.Light; _emptyQueryLabel.Text = AppSettings.LocalizationManager.GetText(LocalizationKeys.EmptyCategory); LoadNext(); }
public override void OnViewCreated(View view, Bundle savedInstanceState) { if (!IsInitialized) { base.OnViewCreated(view, savedInstanceState); Presenter.SourceChanged += PresenterSourceChanged; _adapter = new FeedAdapter <FeedPresenter>(Context, Presenter); _adapter.LikeAction += LikeAction; _adapter.UserAction += UserAction; _adapter.CommentAction += CommentAction; _adapter.VotersClick += VotersAction; _adapter.PhotoClick += FeedPhotoClick; _adapter.FlagAction += FlagAction; _adapter.HideAction += HideAction; _adapter.TagAction += TagAction; _postPagerAdapter = new PostPagerAdapter <FeedPresenter>(Context, Presenter); _postPagerAdapter.LikeAction += LikeAction; _postPagerAdapter.UserAction += UserAction; _postPagerAdapter.CommentAction += CommentAction; _postPagerAdapter.VotersClick += VotersAction; _postPagerAdapter.PhotoClick += PhotoClick; _postPagerAdapter.FlagAction += FlagAction; _postPagerAdapter.HideAction += HideAction; _postPagerAdapter.DeleteAction += DeleteAction; _postPagerAdapter.TagAction += TagAction; _postPagerAdapter.CloseAction += CloseAction; _logo.Click += OnLogoClick; _toolbar.OffsetChanged += OnToolbarOffsetChanged; _scrollListner = new ScrollListener(); _scrollListner.ScrolledToBottom += LoadPosts; _refresher.Refresh += OnRefresh; _feedList.SetAdapter(_adapter); _feedList.SetLayoutManager(new LinearLayoutManager(Android.App.Application.Context)); _feedList.AddOnScrollListener(_scrollListner); _postPager.SetClipToPadding(false); var pagePadding = (int)BitmapUtils.DpToPixel(20, Resources); _postPager.SetPadding(pagePadding, 0, pagePadding, 0); _postPager.PageMargin = pagePadding / 2; _postPager.PageScrollStateChanged += PostPagerOnPageScrollStateChanged; _postPager.PageScrolled += PostPagerOnPageScrolled; _postPager.Adapter = _postPagerAdapter; _postPager.SetPageTransformer(false, _postPagerAdapter, (int)LayerType.None); _emptyQueryLabel.Typeface = Style.Light; _emptyQueryLabel.Text = Localization.Texts.EmptyQuery; LoadPosts(); } var postUrl = Activity?.Intent?.GetStringExtra(CommentsFragment.ResultString); if (!string.IsNullOrWhiteSpace(postUrl)) { var count = Activity.Intent.GetIntExtra(CommentsFragment.CountString, 0); Activity.Intent.RemoveExtra(CommentsFragment.ResultString); Activity.Intent.RemoveExtra(CommentsFragment.CountString); var post = Presenter.FirstOrDefault(p => p.Url == postUrl); post.Children += count; _adapter.NotifyDataSetChanged(); } }
public override void OnScrollStateChanged(object sender, ScrollState state) { scrollStateChangedEventArgs.ScrollState = state; ScrollStateChangedCommand?.Execute(scrollStateChangedEventArgs); ScrollListener?.OnScrollStateChanged(this, scrollStateChangedEventArgs); }
public override void OnScrollStateChange(object sender, ScrollStateChangeEventArgs e) { ScrollListener?.OnScrollStateChange(sender, e); ScrollStateChangeCommand?.Execute(e); }