private void SetRecyclerViewAdapters()
        {
            try
            {
                MAdapter = new NearbyShopsAdapter(this)
                {
                    NearbyShopsList = new ObservableCollection <NearbyShopsDataObject>()
                };
                LayoutManager = new GridLayoutManager(this, 2);
                LayoutManager.SetSpanSizeLookup(new MySpanSizeLookup(7, 1, 2));
                MRecycler.AddItemDecoration(new GridSpacingItemDecoration(2, 10, true));
                MRecycler.SetLayoutManager(LayoutManager);
                var animation = AnimationUtils.LoadAnimation(this, Resource.Animation.slideUpAnim);
                MRecycler.StartAnimation(animation);
                var sizeProvider = new FixedPreloadSizeProvider(10, 10);
                var preLoader    = new RecyclerViewPreloader <NearbyShopsDataObject>(this, MAdapter, sizeProvider, 10 /*maxPreload*/);
                MRecycler.AddOnScrollListener(preLoader);
                MRecycler.SetAdapter(MAdapter);
                MRecycler.HasFixedSize = true;
                MRecycler.SetItemViewCacheSize(10);
                MRecycler.GetLayoutManager().ItemPrefetchEnabled = true;

                RecyclerViewOnScrollListener xamarinRecyclerViewOnScrollListener = new RecyclerViewOnScrollListener(LayoutManager);
                MainScrollEvent = xamarinRecyclerViewOnScrollListener;
                MainScrollEvent.LoadMoreEvent += MainScrollEventOnLoadMoreEvent;
                MRecycler.AddOnScrollListener(xamarinRecyclerViewOnScrollListener);
                MainScrollEvent.IsLoading = false;
            }
            catch (Exception e)
            {
                Methods.DisplayReportResultTrack(e);
            }
        }
Example #2
0
        private void SetRecyclerViewAdapters()
        {
            try
            {
                MAdapter = new AlbumsAdapter(this)
                {
                    AlbumList = new ObservableCollection <PostDataObject>()
                };
                LayoutManager = new GridLayoutManager(this, 2);
                LayoutManager.SetSpanSizeLookup(new MySpanSizeLookup(4, 1, 1)); //5, 1, 2
                MRecycler.SetLayoutManager(LayoutManager);
                MRecycler.HasFixedSize = true;
                MRecycler.SetItemViewCacheSize(10);
                MRecycler.GetLayoutManager().ItemPrefetchEnabled = true;
                var sizeProvider = new FixedPreloadSizeProvider(10, 10);
                var preLoader    = new RecyclerViewPreloader <PostDataObject>(this, MAdapter, sizeProvider, 10);
                MRecycler.AddOnScrollListener(preLoader);
                MRecycler.SetAdapter(MAdapter);

                RecyclerViewOnScrollListener xamarinRecyclerViewOnScrollListener = new RecyclerViewOnScrollListener(LayoutManager);
                MainScrollEvent = xamarinRecyclerViewOnScrollListener;
                MainScrollEvent.LoadMoreEvent += MainScrollEventOnLoadMoreEvent;
                MRecycler.AddOnScrollListener(xamarinRecyclerViewOnScrollListener);
                MainScrollEvent.IsLoading = false;
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
        }
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);

            SetContentView(Resource.Layout.activity_group_collection);

            _generateButton = FindViewById <Button>(Resource.Id.button_generate);
            _addButton      = FindViewById <Button>(Resource.Id.button_add);
            _progress       = FindViewById <ProgressBar>(Resource.Id.activity_group_collection_progress);
            _recyclerView   = FindViewById <RecyclerView>(Resource.Id.activity_group_collection_lst);

            // use this setting to improve performance if you know that changes
            // in content do not change the layout size of the RecyclerView
            _recyclerView.HasFixedSize = true;

            // init adapter
            var adapter = new CustomAdapter(ViewModel.ProductListViewModel.Products)
            {
                HeaderSectionViewHolder = typeof(ProductHeaderViewHolder),
                FooterSectionViewHolder = typeof(ProductFooterViewHolder),
                //ItemClick = ViewModel.AddToCartCommand
            };

            _recyclerView.SetAdapter(adapter);

            // init layout
            var layoutManager = new GridLayoutManager(this, ColumnsCount);

            layoutManager.SetSpanSizeLookup(new GroupedSpanSizeLookup(adapter, ColumnsCount));
            _recyclerView.SetLayoutManager(layoutManager);

            _generateButton.SetCommand(ViewModel.GenerateGroupCommand);
            _addButton.SetCommand(ViewModel.AddAllToCartCommand);
        }
Example #4
0
        protected override LayoutManager LayoutManagerFactory(Context context)
        {
            var layoutManager = new GridLayoutManager(context, SpanCount);

            layoutManager.SetSpanSizeLookup(new MySpanSizeLookup(1, 1, 1));
            return(layoutManager);
        }
Example #5
0
        private void SetRecyclerViewAdapters()
        {
            try
            {
                MAdapter = new GamesAdapter(Activity)
                {
                    GamesList = new ObservableCollection <GamesDataObject>()
                };
                MAdapter.ItemClick += MAdapterOnItemClick;
                LayoutManager       = new GridLayoutManager(Context, 2);
                LayoutManager.SetSpanSizeLookup(new MySpanSizeLookup(4, 1, 1)); //5, 1, 2
                MRecycler.SetLayoutManager(LayoutManager);
                var sizeProvider = new FixedPreloadSizeProvider(10, 10);
                var preLoader    = new RecyclerViewPreloader <GamesDataObject>(Activity, MAdapter, sizeProvider, 10 /*maxPreload*/);
                MRecycler.AddOnScrollListener(preLoader);
                MRecycler.SetAdapter(MAdapter);
                MRecycler.HasFixedSize = true;
                MRecycler.SetItemViewCacheSize(10);
                MRecycler.GetLayoutManager().ItemPrefetchEnabled = true;

                RecyclerViewOnScrollListener xamarinRecyclerViewOnScrollListener = new RecyclerViewOnScrollListener(LayoutManager);
                MainScrollEvent = xamarinRecyclerViewOnScrollListener;
                MainScrollEvent.LoadMoreEvent += LoadMoreEventOnLoadMoreGames;
                MRecycler.AddOnScrollListener(xamarinRecyclerViewOnScrollListener);
                MainScrollEvent.IsLoading = false;
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
        }
Example #6
0
        private void SetRecyclerViewAdapters()
        {
            try
            {
                MAdapter = new AllMediaAdapter(this)
                {
                    MediaList = new ObservableCollection <MediaFile>()
                };

                LayoutManager = new GridLayoutManager(this, 3);
                LayoutManager.SetSpanSizeLookup(new MySpanSizeLookup(8, 1, 2));
                MRecycler.AddItemDecoration(new GridSpacingItemDecoration(1, 1, true));
                MRecycler.SetLayoutManager(LayoutManager);
                MRecycler.HasFixedSize = true;
                MRecycler.SetItemViewCacheSize(10);
                MRecycler.GetLayoutManager().ItemPrefetchEnabled = true;
                var sizeProvider = new FixedPreloadSizeProvider(10, 10);
                var preLoader    = new RecyclerViewPreloader <MediaFile>(this, MAdapter, sizeProvider, 8);
                MRecycler.AddOnScrollListener(preLoader);
                MRecycler.SetAdapter(MAdapter);
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
        }
Example #7
0
        private void SetRecyclerViewAdapters()
        {
            try
            {
                MAdapter = new TrendingAdapter(Activity)
                {
                    TrendingList = new ObservableCollection <Classes.TrendingClass>()
                };
                LayoutManager = new GridLayoutManager(Context, 2);
                LayoutManager.SetSpanSizeLookup(new MySpanSizeLookup2(2, 1, 2));//20, 1, 4
                MRecycler.SetLayoutManager(LayoutManager);
                MRecycler.HasFixedSize = true;
                MRecycler.SetItemViewCacheSize(10);
                MRecycler.GetLayoutManager().ItemPrefetchEnabled = true;
                MRecycler.SetAdapter(MAdapter);

                MAdapter.UsersItemClick           += MAdapterOnUsersItemClick;
                MAdapter.UsersLikeButtonItemClick += MAdapterOnUsersLikeButtonItemClick;

                RecyclerViewOnScrollListener xamarinRecyclerViewOnScrollListener = new RecyclerViewOnScrollListener(LayoutManager);
                MainScrollEvent = xamarinRecyclerViewOnScrollListener;
                MainScrollEvent.LoadMoreEvent += MainScrollEventOnLoadMoreEvent;
                MRecycler.AddOnScrollListener(xamarinRecyclerViewOnScrollListener);
                MainScrollEvent.IsLoading = false;
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
        }
        private void SetRecyclerViewAdapters()
        {
            try
            {
                MAdapter = new MarketAdapter(Activity)
                {
                    MarketList = new ObservableCollection <ProductDataObject>()
                };
                MAdapter.ItemClick += MAdapterOnItemClick;
                LayoutManager       = new GridLayoutManager(Activity, 2);
                LayoutManager.SetSpanSizeLookup(new MySpanSizeLookup(7, 1, 2));
                MRecycler.AddItemDecoration(new GridSpacingItemDecoration(2, 10, true));
                MRecycler.SetLayoutManager(LayoutManager);
                var animation = AnimationUtils.LoadAnimation(Activity, Resource.Animation.slideUpAnim);
                MRecycler.StartAnimation(animation);
                var sizeProvider = new FixedPreloadSizeProvider(10, 10);
                var preLoader    = new RecyclerViewPreloader <ProductDataObject>(Activity, MAdapter, sizeProvider, 10 /*maxPreload*/);
                MRecycler.AddOnScrollListener(preLoader);
                MRecycler.SetAdapter(MAdapter);
                MRecycler.HasFixedSize = true;
                MRecycler.SetItemViewCacheSize(10);
                MRecycler.GetLayoutManager().ItemPrefetchEnabled = true;

                RecyclerViewOnScrollListener xamarinRecyclerViewOnScrollListener = new RecyclerViewOnScrollListener(LayoutManager);
                MainScrollEvent = xamarinRecyclerViewOnScrollListener;
                MainScrollEvent.LoadMoreEvent += MainScrollEventOnLoadMoreEvent;
                MRecycler.AddOnScrollListener(xamarinRecyclerViewOnScrollListener);
                MainScrollEvent.IsLoading = false;
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
        }
        public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
        {
            theview = inflater.Inflate(Resource.Layout.myclips, container, false);

            _adapter = new MyClipsAdapter(Activity, Bootlegger.BootleggerClient.UploadQueueEditing, Bootlegger.BootleggerClient.MyMediaEditing);
            _adapter.OnRefreshClips += _adapter_OnRefreshClips;
            _adapter.OnUpload       += _adapter_OnUpload;

            _adapter.HasStableIds = true;

            var listView = theview.FindViewById <RecyclerView>(Resource.Id.myclips);

            var cols = Activity.Resources.Configuration.Orientation == Android.Content.Res.Orientation.Landscape ? 3 : 2;

            var mLayoutManager = new GridLayoutManager(Activity, cols);

            spanLookup = new MySpanSizeLookup(_adapter, cols);
            mLayoutManager.SetSpanSizeLookup(spanLookup);

            listView.SetLayoutManager(mLayoutManager);
            listView.SetAdapter(_adapter);
            listView.SetItemAnimator(null);

            theview.FindViewById <SwipeRefreshLayout>(Resource.Id.swiperefresh).Refresh += MyClipsFragment_Refresh;

            _adapter.OnDelete  += _adapter_OnDelete;
            _adapter.OnPreview += _adapter_OnPreview;

            listView.AddOnScrollListener(new PausableScrollListener(Context, _adapter));
            return(theview);
        }
        private void SetRecyclerViewAdapters(View view)
        {
            try
            {
                MoreRecylerView = (RecyclerView)view.FindViewById(Resource.Id.Recyler);
                MoreRecylerView.NestedScrollingEnabled = true;

                if (AppSettings.MoreTheme == MoreTheme.BeautyTheme)
                {
                    var layoutManager = new GridLayoutManager(Activity, 4);

                    MoreSectionAdapterTheme2 = new MoreSectionAdapterTheme2(Activity);

                    var countListFirstRow = MoreSectionAdapterTheme2.SectionList.Where(q => q.StyleRow == 0).ToList().Count;

                    layoutManager.SetSpanSizeLookup(new MySpanSizeLookup2(countListFirstRow, 1, 4));//20, 1, 4
                    MoreRecylerView.SetLayoutManager(layoutManager);
                    MoreRecylerView.SetAdapter(MoreSectionAdapterTheme2);
                }
                else
                {
                    MoreRecylerView.SetLayoutManager(new LinearLayoutManager(Activity));
                    MoreSectionAdapter = new MoreSectionAdapter(Activity);
                    MoreRecylerView.SetAdapter(MoreSectionAdapter);
                }
                //MoreRecylerView.HasFixedSize = true;
                MoreRecylerView.SetItemViewCacheSize(50);
                MoreRecylerView.GetLayoutManager().ItemPrefetchEnabled = true;
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
        }
Example #11
0
        void ConfigureRecyclerView()
        {
            recyclerView.HasFixedSize = false;
            var layoutManager = new GridLayoutManager(Activity, 4);

            layoutManager.SetSpanSizeLookup(new ButtonSpanSizeLookup(CalculatorModel.buttons.Length - 1));
            recyclerView.SetLayoutManager(layoutManager);
            recyclerView.SetAdapter(new ButtonAdapter(CalculatorModel.buttons, ButtonPressed));
        }
Example #12
0
        public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
        {
            var view = inflater.Inflate(Resource.Layout.EventList, container, false);

            listview = view.FindViewById <RecyclerView>(Resource.Id.eventsView);

            if (Context.Resources.Configuration.Orientation == Android.Content.Res.Orientation.Landscape)
            {
                listview.LayoutParameters.Height = LayoutParams.WrapContent;
            }

            theview = view;

            listAdapter = new EventAdapter(container.Context);

            listAdapter.UpdateData(events, eventviewtype);
            listAdapter.Capture     += ListAdapter_Capture;
            listAdapter.Edit        += ListAdapter_Edit;
            listAdapter.Share       += ListAdapter_Share;
            listAdapter.ShowMore    += ListAdapter_ShowMore;
            listAdapter.MakeShoot   += ListAdapter_MakeShoot;
            listAdapter.OnEnterCode += ListAdapter_OnEnterCode;
            listAdapter.HasStableIds = true;

            // use a linear layout manager
            if (eventviewtype == EventAdapter.EventViewType.FEATURED)
            {
                var lm = new LinearLayoutManager(Context, (int)Orientation.Horizontal, false);
                listview.SetLayoutManager(lm);
                view.FindViewById <SwipeRefreshLayout>(Resource.Id.swiperefresh).Enabled = false;
                listview.SetPadding(Utils.dp2px(Context, 30), 0, Utils.dp2px(Context, 30), 0);
                listview.NestedScrollingEnabled = true;
            }
            else
            {
                var mLayoutManager = new GridLayoutManager(container.Context, Activity.Resources.Configuration.Orientation == Android.Content.Res.Orientation.Landscape ? 2 : 1);
                mLayoutManager.SetSpanSizeLookup(new MySpanSizeLookup(Activity, listAdapter));
                listview.SetLayoutManager(mLayoutManager);
            }

            if (eventviewtype == EventAdapter.EventViewType.NEARBY_SINGLE)
            {
                //do nothing?
                var lm = new LinearLayoutManager(Context, (int)Orientation.Horizontal, false);
                listview.SetLayoutManager(lm);
                view.FindViewById <SwipeRefreshLayout>(Resource.Id.swiperefresh).Enabled = false;
            }

            listview.SetAdapter(listAdapter);

            listview.AddOnScrollListener(new PausableScrollListener(Context, listAdapter));
            view.FindViewById <SwipeRefreshLayout>(Resource.Id.swiperefresh).Refresh += Events_Refresh;

            view.FindViewById <View>(Resource.Id.swiperefresh).Visibility = ViewStates.Visible;

            return(view);
        }
        protected internal void CalculateLayoutRects()
        {
            if (Element == null || Element.Width < 10 || _gridLayoutManager == null)
            {
                return;
            }


            var itemTemplate = Element.ItemTemplateSelector;

            if (!(itemTemplate is FastCollectionTemplateSelector templateSelector))
            {
                return;
            }
            templateSelector.Prepare();
            var width  = Element.Width;
            var widths = templateSelector.DataTemplates.Select(t => t.CellSize.Width);

            _columns = Math.Max(1, widths.Max(w => (int)(width / w)));

            _gridLayoutManager.SpanCount = _columns;
            if (_sizeLookup == null)
            {
                _sizeLookup = new GridSpanSizeLookup();
                _gridLayoutManager.SetSpanSizeLookup(_sizeLookup);
            }

            _sizeLookup.MaxColumns = _columns;
            _sizeLookup.Width      = width;

            var source        = Element.ItemsSource as ICollection;
            var numberOfItems = source?.Count ?? 0;

            var layoutInfo = new Size[numberOfItems];

            if (numberOfItems == 0 || source == null)
            {
                return;
            }
            var density = _density;

            var items = source.Cast <object>().ToArray();

            for (var i = 0; i < numberOfItems; i++)
            {
                var item = items[i];
                var size = GetSizeByItem(templateSelector, item);
                size.Height  *= density;
                size.Width   *= density;
                layoutInfo[i] = size;
            }

            var widthByPos = layoutInfo.Select(t => t.Width / density).ToList();

            _sizeLookup.WidthByPos = widthByPos;
        }
Example #14
0
 public override void OnAttachedToRecyclerView(RecyclerView recyclerView)
 {
     base.OnAttachedToRecyclerView(recyclerView);
     RecyclerView.LayoutManager manager = recyclerView.GetLayoutManager();
     if (manager is GridLayoutManager)
     {
         GridLayoutManager GridManager = ((GridLayoutManager)manager);
         GridManager.SetSpanSizeLookup(new MySpanSizeLookup(GridManager, this));
     }
 }
Example #15
0
        /// <summary>
        /// Update the grid layout manager instance.
        /// </summary>
        void UpdateGridLayout()
        {
            //Get the span count.
            var spanCount = (int)Math.Max(1, Math.Floor(Element.Width / Element.MinItemWidth));

            //I found that if I don't re-iniitalize a new layout manager
            //each time the span count should change then the items don't render.
            _layoutManager = new GridLayoutManager(Context, spanCount);
            _layoutManager.SetSpanSizeLookup(new GroupedGridSpanSizeLookup(_recyclerView.GetAdapter() as GridViewAdapter, spanCount));

            _recyclerView.SetLayoutManager(_layoutManager);
        }
Example #16
0
        GridLayoutManager CreateGridLayout(GridItemsLayout gridItemsLayout)
        {
            var gridLayoutManager = new GridLayoutManager(Context, gridItemsLayout.Span,
                                                          gridItemsLayout.Orientation == ItemsLayoutOrientation.Horizontal
                                        ? LinearLayoutManager.Horizontal
                                        : LinearLayoutManager.Vertical,
                                                          false);

            // Give the layout a way to determine that headers/footers span multiple rows/columns
            gridLayoutManager.SetSpanSizeLookup(new GridLayoutSpanSizeLookup(gridItemsLayout, this));

            return(gridLayoutManager);
        }
        protected virtual void SetupLayoutManager(RecyclerView recyclerView)
        {
            if (CollectionType == CollectionType.Grid)
            {
                var gridLayoutManager = new GridLayoutManager(Context, 2, GridLayoutManager.Vertical, false);
                gridLayoutManager.SetSpanSizeLookup(new CategoriesSpanSizeLookup(gridLayoutManager, ViewModel));

                recyclerView.SetLayoutManager(gridLayoutManager);
            }
            else
            {
                recyclerView.SetLayoutManager(new LinearLayoutManager(Context, LinearLayoutManager.Vertical, false));
            }
        }
Example #18
0
        private void SetRecyclerViewAdapters()
        {
            try
            {
                SuggestionsAdapter = new SuggestionsAdapter(Activity);
                LinearLayoutManager suggestionsLayoutManager = new LinearLayoutManager(Activity, LinearLayoutManager.Horizontal, false);
                SuggestionsRecylerView.SetLayoutManager(suggestionsLayoutManager);
                SuggestionsRecylerView.HasFixedSize = true;
                SuggestionsRecylerView.SetItemViewCacheSize(10);
                SuggestionsRecylerView.GetLayoutManager().ItemPrefetchEnabled = true;
                var sizeProviderSuggestions = new FixedPreloadSizeProvider(10, 10);
                var preLoaderSuggestions    = new RecyclerViewPreloader <UserDataObject>(Activity, SuggestionsAdapter, sizeProviderSuggestions, 10);
                SuggestionsRecylerView.AddOnScrollListener(preLoaderSuggestions);
                SuggestionsAdapter.ItemClick += SuggestionsAdapterOnItemClick;
                SuggestionsRecylerView.SetAdapter(SuggestionsAdapter);

                RecyclerViewOnScrollListener xamarinRecyclerViewOnScrollListener2 = new RecyclerViewOnScrollListener(suggestionsLayoutManager);
                SeconderScrollEvent = xamarinRecyclerViewOnScrollListener2;
                SeconderScrollEvent.LoadMoreEvent += SeconderScrollEventOnLoadMoreEvent;
                SuggestionsRecylerView.AddOnScrollListener(xamarinRecyclerViewOnScrollListener2);
                SeconderScrollEvent.IsLoading = false;

                //*******************************************************************

                ExploreAdapter = new ExploreAdapter(Activity);
                GridLayoutManager mLayoutManager = new GridLayoutManager(Activity, 3);
                mLayoutManager.SetSpanSizeLookup(new MySpanSizeLookup(8, 1, 2));
                ExploreRecylerView.AddItemDecoration(new GridSpacingItemDecoration(1, 1, true));
                ExploreRecylerView.SetLayoutManager(mLayoutManager);
                ExploreRecylerView.HasFixedSize = true;
                ExploreRecylerView.SetItemViewCacheSize(10);
                ExploreRecylerView.GetLayoutManager().ItemPrefetchEnabled = true;
                var sizeProvider = new FixedPreloadSizeProvider(10, 10);
                var preLoader    = new RecyclerViewPreloader <PostsObject>(Activity, ExploreAdapter, sizeProvider, 8);
                ExploreRecylerView.AddOnScrollListener(preLoader);
                ExploreAdapter.ItemClick += ExploreAdapterOnItemClick;
                ExploreRecylerView.SetAdapter(ExploreAdapter);

                RecyclerViewOnScrollListener xamarinRecyclerViewOnScrollListener = new RecyclerViewOnScrollListener(mLayoutManager);
                MainScrollEvent = xamarinRecyclerViewOnScrollListener;
                MainScrollEvent.LoadMoreEvent += MainScrollEventOnLoadMoreEvent;
                ExploreRecylerView.AddOnScrollListener(xamarinRecyclerViewOnScrollListener);
                MainScrollEvent.IsLoading = false;
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
        }
        public override async void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);

            // Load from cached data from the database if available,
            // just in case we can't contact the server
            List <FeedSection> cached = await((MainActivity)Activity).GetCachedContent(false);

            var metrics   = Resources.DisplayMetrics;
            var widthInDp = AndroidUtils.ConvertPixelsToDp(metrics.WidthPixels, Activity);
            int cols      = Math.Max(widthInDp / 300, 1);

            adapter            = new FeedItemsAdapter(cached, await AndroidUtils.GetDbManager().ConfigureAwait(false));
            adapter.ItemClick += OnItemClick;
            layoutManager      = new GridLayoutManager(Activity, cols);
            layoutManager.SetSpanSizeLookup(new GridSpanner(adapter, cols));
        }
Example #20
0
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);
            SetContentView(Resource.Layout.activity_main);
            var toolbar = FindViewById <Toolbar>(Resource.Id.toolbar);

            SetSupportActionBar(toolbar);

            _groupAdapter.Add(new ListItem("title"));
            var group = new ExpandableGroup(new ExpandableHeaderItem("expandable item"));

            group.Add(new ExpandableContentItem("description"));
            group.Add(new ExpandableContentItem("description"));
            _groupAdapter.Add(group);
            var childItems = new List <IGroup>
            {
                new CarouselChildItem("carousel1"),
                new CarouselChildItem("carousel2"),
                new CarouselChildItem("carousel3"),
            };
            var carousel = new CarouselItem("carousel", childItems);

            _groupAdapter.Add(carousel);
            var section = new ListSection();

            section.Update(new List <IGroup>
            {
                new ListItem("section1"),
                new ListItem("section2")
            });
            _groupAdapter.Add(section);

            var recyclerView = FindViewById <RecyclerView>(Resource.Id.recycler_view);
            var manager      = new GridLayoutManager(this, _groupAdapter.SpanCount);

            manager.SetSpanSizeLookup(_groupAdapter.SpanSizeLookup);
            recyclerView.SetLayoutManager(manager);
            recyclerView.SetAdapter(_groupAdapter);
            _groupAdapter.SetOnItemClickListener(this);
            _groupAdapter.SetOnItemLongClickListener(this);

            FloatingActionButton fab = FindViewById <FloatingActionButton>(Resource.Id.fab);

            fab.Click += FabOnClick;
        }
        public override async void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);

            // Load from cached data from the database if available,
            // just in case we can't contact the server
            List <FeedSection> cached = await((MainActivity)Activity).GetCachedContent(false);

            // Check for recently opened activities
            FeedSection recents = await LoadRecent();

            if (recents != null)
            {
                cached.Insert(0, recents);
            }

            var metrics   = Resources.DisplayMetrics;
            var widthInDp = AndroidUtils.ConvertPixelsToDp(metrics.WidthPixels, Activity);

            int cols = Math.Max(widthInDp / 300, 1);

            adapter            = new FeedItemsAdapter(cached, await AndroidUtils.GetDbManager().ConfigureAwait(false));
            adapter.ItemClick += OnItemClick;

            if (savedInstanceState != null)
            {
                adapter.Data = JsonConvert.DeserializeObject <List <FeedSection> >(savedInstanceState.GetString("MAIN_ADAPTER_DATA"));
                adapter.NotifyDataSetChanged();
            }

            layoutManager = new GridLayoutManager(Activity, cols);
            layoutManager.SetSpanSizeLookup(new GridSpanner(adapter, cols));

            if (!AndroidUtils.IsGooglePlayServicesInstalled(Activity) || googleApiClient != null)
            {
                return;
            }

            googleApiClient = new GoogleApiClient.Builder(Activity)
                              .AddConnectionCallbacks(this)
                              .AddOnConnectionFailedListener(this)
                              .AddApi(LocationServices.API)
                              .Build();
            googleApiClient?.Connect();
        }
Example #22
0
 private void SetRecyclerViewAdapters()
 {
     try
     {
         MAdapter      = new MyInformationAdapter(this);
         LayoutManager = new GridLayoutManager(this, 2);
         LayoutManager.SetSpanSizeLookup(new MySpanSizeLookup(4, 1, 1)); //5, 1, 2
         MRecycler.SetLayoutManager(LayoutManager);
         MRecycler.HasFixedSize = true;
         MRecycler.SetItemViewCacheSize(10);
         MRecycler.GetLayoutManager().ItemPrefetchEnabled = true;
         MRecycler.SetAdapter(MAdapter);
     }
     catch (Exception e)
     {
         Methods.DisplayReportResultTrack(e);
     }
 }
        public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
        {
            var view = inflater.Inflate(Resource.Layout.edits_list, container, false);

            //create adapter for edits:

            _adapter = new EditAdapter(Activity, Bootlegger.BootleggerClient.MyEdits, Bootlegger.BootleggerClient.CurrentEvent);
            _adapter.HasStableIds = true;
            _adapter.OnShare     += _adapter_OnShare;
            _adapter.OnEdit      += _adapter_OnEdit;
            _adapter.OnPreview   += _adapter_OnPreview;
            _adapter.OnDelete    += _adapter_OnDelete;
            //_adapter.OnRestart += _adapter_OnRestart;
            _adapter.OnRefresh += _adapter_OnRefresh;

            view.FindViewById <SwipeRefreshLayout>(Resource.Id.swiperefresh).Refresh += MyEditsFragment_Refresh;



            var listView       = view.FindViewById <RecyclerView>(Resource.Id.alledits);
            int cols           = Activity.Resources.Configuration.Orientation == Android.Content.Res.Orientation.Landscape ? 2 : 1;
            var mLayoutManager = new GridLayoutManager(Activity, cols);

            mLayoutManager.SetSpanSizeLookup(new MySpanSizeLookup(_adapter, cols));
            //var mLayoutManager = new GridLayoutManager(container.Context,2);
            listView.SetLayoutManager(mLayoutManager);
            listView.SetAdapter(_adapter);
            theview = view;

            //listView.ScrollChange += ListView_ScrollChange;
            //RecyclerView.ItemAnimator animator = listView.GetItemAnimator();

            //if (animator is SimpleItemAnimator)
            //{
            //    ((SimpleItemAnimator)animator).SupportsChangeAnimations = false;
            //}

            listView.SetItemAnimator(null);

            listView.AddOnScrollListener(new PausableScrollListener(Context, _adapter));
            return(view);
        }
Example #24
0
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);
            SetBackBtn();
            SetTitle("ExpandableItem Activity");
            SetContentView(Resource.Layout.activity_expandable_item_use);

            _recyclerView = FindViewById <RecyclerView>(Resource.Id.rv);

            _list    = GenerateData();
            _adapter = new ExpandableItemAdapter(_list);

            var manager = new GridLayoutManager(this, 3);

            manager.SetSpanSizeLookup(new SpanSizeLookup(manager, _adapter));

            _recyclerView.SetAdapter(_adapter);
            _recyclerView.SetLayoutManager(manager);
            _adapter.ExpandAll();
        }
        private void SetRecyclerViewAdapters()
        {
            try
            {
                MAdapter = new HPlaylistAdapter(Activity)
                {
                    PlaylistList = new ObservableCollection <PlaylistDataObject>()
                };
                MAdapter.OnItemClick += MAdapterOnOnItemClick;
                LayoutManager         = new GridLayoutManager(Activity, 2);
                LayoutManager.SetSpanSizeLookup(new MySpanSizeLookup(4, 1, 1)); //5, 1, 2
                MRecycler.SetLayoutManager(LayoutManager);
                MRecycler.HasFixedSize = true;
                MRecycler.SetItemViewCacheSize(10);
                MRecycler.GetLayoutManager().ItemPrefetchEnabled = true;
                var sizeProvider = new FixedPreloadSizeProvider(10, 10);
                var preLoader    = new RecyclerViewPreloader <PlaylistDataObject>(Activity, MAdapter, sizeProvider, 10);
                MRecycler.AddOnScrollListener(preLoader);
                MRecycler.SetAdapter(MAdapter);

                RecyclerViewOnScrollListener xamarinRecyclerViewOnScrollListener = new RecyclerViewOnScrollListener(LayoutManager);
                MainScrollEvent = xamarinRecyclerViewOnScrollListener;
                MainScrollEvent.LoadMoreEvent += MainScrollEventOnLoadMoreEvent;
                MRecycler.AddOnScrollListener(xamarinRecyclerViewOnScrollListener);
                MainScrollEvent.IsLoading = false;

                Inflated = EmptyStateLayout.Inflate();
                EmptyStateInflater x = new EmptyStateInflater();
                x.InflateLayout(Inflated, EmptyStateInflater.Type.NoSearchResult);
                if (!x.EmptyStateButton.HasOnClickListeners)
                {
                    x.EmptyStateButton.Click += null;
                    x.EmptyStateButton.Click += ContextSearch.TryAgainButton_Click;
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
        }
        private void SetRecyclerViewAdapters(View view)
        {
            try
            {
                MoreRecylerView = (RecyclerView)view.FindViewById(Resource.Id.Recyler);
                MoreRecylerView.NestedScrollingEnabled = true;

                MoreSectionAdapter = new MoreSectionAdapter(Activity);

                switch (AppSettings.MoreTheme)
                {
                case MoreTheme.BeautyTheme:
                {
                    var layoutManager = new GridLayoutManager(Activity, 4);

                    var countListFirstRow = MoreSectionAdapter.SectionList.Where(q => q.StyleRow == 0).ToList().Count;

                    layoutManager.SetSpanSizeLookup(new MySpanSizeLookup2(countListFirstRow, 1, 4));    //20, 1, 4
                    MoreRecylerView.SetLayoutManager(layoutManager);
                    MoreRecylerView.SetAdapter(MoreSectionAdapter);
                    break;
                }

                default:
                    MoreRecylerView.SetLayoutManager(new LinearLayoutManager(Activity));
                    MoreRecylerView.SetAdapter(MoreSectionAdapter);
                    break;
                }
                //MoreRecylerView.HasFixedSize = true;
                MoreRecylerView.SetItemViewCacheSize(50);
                MoreRecylerView.GetLayoutManager().ItemPrefetchEnabled = true;

                MAdView = view.FindViewById <AdView>(Resource.Id.adView);
                AdsGoogle.InitAdView(MAdView, MoreRecylerView);
            }
            catch (Exception e)
            {
                Methods.DisplayReportResultTrack(e);
            }
        }
Example #27
0
        public override void OnBindViewHolder(RecyclerView.ViewHolder holder, int position)
        {
            UserScoreViewHolder vh = holder as UserScoreViewHolder;

            if (vh == null)
            {
                return;
            }
            UserScore userScore = _mGame.scores[position];

            vh.TvUserName.Text = userScore.user.name;
            vh.TvWins.Text     = userScore.user.winCount.ToString();
            vh.TvLoss.Text     = userScore.user.lossCount.ToString();
            Glide
            .With(_mContext)
            .Load(userScore.user.profileUrl)
            .Apply(RequestOptions.CenterCropTransform()).Into(vh.IvUserProfile);

            GridLayoutManager layoutManager = new GridLayoutManager(_mContext.Context, 3);

            layoutManager.SetSpanSizeLookup(new ScoreSpanSizeLookup(userScore.scores.Count));
            vh.RvUserScore.SetLayoutManager(layoutManager);
            vh.RvUserScore.SetAdapter(new ScoreAdapter(_mContext, userScore));
        }
Example #28
0
 private void SetRecyclerViewAdapters()
 {
     try
     {
         MAdapter = new PhotosAdapter(this)
         {
             PhotosList = new ObservableCollection <PhotoAlbumObject>()
         };
         LayoutManager = new GridLayoutManager(this, 2);
         LayoutManager.SetSpanSizeLookup(new MySpanSizeLookup(4, 1, 1)); //5, 1, 2
         MRecycler.SetLayoutManager(LayoutManager);
         MRecycler.HasFixedSize = true;
         MRecycler.SetItemViewCacheSize(10);
         MRecycler.GetLayoutManager().ItemPrefetchEnabled = true;
         var sizeProvider = new FixedPreloadSizeProvider(10, 10);
         var preLoader    = new RecyclerViewPreloader <PhotoAlbumObject>(this, MAdapter, sizeProvider, 10);
         MRecycler.AddOnScrollListener(preLoader);
         MRecycler.SetAdapter(MAdapter);
     }
     catch (Exception e)
     {
         Console.WriteLine(e);
     }
 }
Example #29
0
        private void SetRecyclerViewAdapters()
        {
            try
            {
                LinearLayoutManager = new GridLayoutManager(this, 2);
                LinearLayoutManager.SetSpanSizeLookup(new MySpanSizeLookup(4, 1, 1)); //5, 1, 2
                GenresRecycler.SetLayoutManager(LinearLayoutManager);
                GenresRecycler.NestedScrollingEnabled = false;
                GenresAdapter = new GenresCheckerAdapter(this)
                {
                    GenresList = new ObservableCollection <GenresObject.DataGenres>()
                };
                GenresRecycler.SetAdapter(GenresAdapter);
                GenresRecycler.SetItemViewCacheSize(20);

                var sizeProvider = new FixedPreloadSizeProvider(10, 10);
                var preLoader    = new RecyclerViewPreloader <GenresObject.DataGenres>(this, GenresAdapter, sizeProvider, 10);
                GenresRecycler.AddOnScrollListener(preLoader);
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
        }
        private void SetRecyclerViewAdapters()
        {
            try
            {
                dynamic preLoader    = null;
                var     sizeProvider = new FixedPreloadSizeProvider(10, 10);

                switch (Type)
                {
                case "GroupsModel":
                case "MangedGroupsModel":
                    LayoutManager = new LinearLayoutManager(this);
                    MAdapter      = new SearchGroupAdapter(this)
                    {
                        GroupList = new ObservableCollection <GroupClass>()
                    };
                    if (MAdapter is SearchGroupAdapter adapter1)
                    {
                        adapter1.ItemClick += GroupsModelOnItemClick;
                    }
                    preLoader = new RecyclerViewPreloader <GroupClass>(this, MAdapter, sizeProvider, 10);
                    break;

                case "PagesModel":
                case "MangedPagesModel":
                    LayoutManager = new LinearLayoutManager(this);
                    MAdapter      = new SearchPageAdapter(this)
                    {
                        PageList = new ObservableCollection <PageClass>()
                    };
                    if (MAdapter is SearchPageAdapter adapter2)
                    {
                        adapter2.ItemClick += PagesModelOnItemClick;
                    }
                    preLoader = new RecyclerViewPreloader <PageClass>(this, MAdapter, sizeProvider, 10);
                    break;

                case "StoryModel":
                    LayoutManager = new LinearLayoutManager(this);
                    MAdapter      = new RowStoryAdapter(this)
                    {
                        StoryList = new ObservableCollection <GetUserStoriesObject.StoryObject>()
                    };
                    if (MAdapter is RowStoryAdapter adapter3)
                    {
                        adapter3.ItemClick += StoryModelOnItemClick;
                    }
                    preLoader = new RecyclerViewPreloader <GetUserStoriesObject.StoryObject>(this, MAdapter, sizeProvider, 10);
                    break;

                case "FollowersModel":
                    LayoutManager = new LinearLayoutManager(this);
                    MAdapter      = new ContactsAdapter(this, true, ContactsAdapter.TypeTextSecondary.LastSeen)
                    {
                        UserList = new ObservableCollection <UserDataObject>()
                    };
                    if (MAdapter is ContactsAdapter adapter4)
                    {
                        adapter4.ItemClick += AdapterFollowersOnItemClick;
                    }
                    preLoader = new RecyclerViewPreloader <UserDataObject>(this, MAdapter, sizeProvider, 10);
                    break;

                case "ImagesModel":
                    GridLayoutManager = new GridLayoutManager(this, 3);
                    GridLayoutManager.SetSpanSizeLookup(new MySpanSizeLookup(4, 1, 1));     //5, 1, 2
                    MAdapter = new UserPhotosAdapter(this)
                    {
                        UserPhotosList = new ObservableCollection <PostDataObject>()
                    };
                    if (MAdapter is UserPhotosAdapter adapter5)
                    {
                        adapter5.ItemClick += AdapterPhotosOnItemClick;
                    }
                    preLoader = new RecyclerViewPreloader <PostDataObject>(this, MAdapter, sizeProvider, 10);
                    break;
                }

                MRecycler.SetLayoutManager(LayoutManager ?? GridLayoutManager);
                MRecycler.HasFixedSize = true;
                MRecycler.SetItemViewCacheSize(10);
                MRecycler.GetLayoutManager().ItemPrefetchEnabled = true;
                MRecycler.AddOnScrollListener(preLoader);
                MRecycler.SetAdapter(MAdapter);

                RecyclerViewOnScrollListener xamarinRecyclerViewOnScrollListener = new RecyclerViewOnScrollListener(LayoutManager);
                MainScrollEvent = xamarinRecyclerViewOnScrollListener;
                MainScrollEvent.LoadMoreEvent += MainScrollEventOnLoadMoreEvent;
                MRecycler.AddOnScrollListener(xamarinRecyclerViewOnScrollListener);
                MainScrollEvent.IsLoading = false;
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
        }