Beispiel #1
0
        public void SetFile(string filePath)
        {
            _filePath = filePath;
            _adapter  = new TextRowAdapter(Context)
            {
                RowTextSize          = RowTextSize,
                RowTextColor         = RowTextColor,
                RowTypeface          = RowTypeface,
                RowBackground        = RowBackground,
                LineNumberTextSize   = LineNumberTextSize,
                LineNumberColor      = LineNumberColor,
                LineNumberTypeface   = LineNumberTypeface,
                LineNumberBackground = LineNumberBackground,
                VerticalDivider      = VerticalRowDivider
            };
            _adapter.ItemClick     += Adapter_ItemClick;
            _adapter.ItemLongClick += Adapter_ItemLongClick;
            _adapter.AddRows(GetNextRowSet());

            _rows.SetAdapter(_adapter);
        }
Beispiel #2
0
        private void CreateRowView()
        {
            _rows = new RecyclerView(Context);
            ((SimpleItemAnimator)_rows.GetItemAnimator()).SupportsChangeAnimations = false;

            var layoutManager = new LinearLayoutManager(Context);

            _rows.SetLayoutManager(layoutManager);

            var dividerDecoration = new DividerItemDecoration(Context, layoutManager.Orientation);

            dividerDecoration.Drawable = HorizontalRowDivider;
            _rows.AddItemDecoration(dividerDecoration);

            if (LazyLoad)
            {
                _rows.ScrollChange += (s, e) =>
                {
                    int firstVisibleItemPosition = layoutManager.FindFirstVisibleItemPosition();

                    if (!_gettingRows && firstVisibleItemPosition > 0 && _adapter.ItemCount % LazyLoadLimit == 0 && firstVisibleItemPosition + _rows.ChildCount >= _adapter.ItemCount)
                    {
                        _gettingRows = true;

                        var dialog = new ProgressDialog(Context, Resource.Style.ProgressDialogTheme)
                        {
                            Indeterminate = true
                        };
                        dialog.SetCancelable(false);
                        dialog.Show();

                        _adapter.AddRows(GetNextRowSet());

                        dialog.Dismiss();
                        _gettingRows = false;
                    }
                };
            }
        }