示例#1
0
        private void InitializeRecyclerView()
        {
            _chatsRecyclerView.HasFixedSize = true;
            _chatsRecyclerView.SetLayoutManager(new GuardedLinearLayoutManager(Activity));
            _chatsRecyclerView.AddItemDecoration(new LeftOffsetItemDecoration(Activity, Resource.Color.chat_divider_color, 72));
            _chatsRecyclerView.SetAdapter(new ChatObservableRecyclerViewAdapter(ViewModel.Chats,
                                                                                CreateChatViewHolder, _chatsRecyclerView.SmoothScrollToPosition));

            var swipeItemCallback    = new SwipeCallback(Activity, _chatsRecyclerView, ConfigureSwipeForViewHolder);
            var swipeItemTouchHelper = new ItemTouchHelper(swipeItemCallback);

            swipeItemTouchHelper.AttachToRecyclerView(_chatsRecyclerView);
        }
示例#2
0
        private void InitializeMembersRecyclerView()
        {
            var swipeItemCallback    = new SwipeCallback(this, _membersRecyclerView, ConfigureSwipeForViewHolder);
            var swipeItemTouchHelper = new ItemTouchHelper(swipeItemCallback);

            swipeItemTouchHelper.AttachToRecyclerView(_membersRecyclerView);

            _membersRecyclerView.HasFixedSize = true;
            _membersRecyclerView.SetLayoutManager(new GuardedLinearLayoutManager(this));
            _membersRecyclerView.AddItemDecoration(new LeftOffsetItemDecoration(this, Resource.Color.chat_divider_color, 72));
            _membersRecyclerView.SetAdapter(new BaseChatObservableRecyclerViewAdapter <ChatUserViewModel>(
                                                ViewModel.Members,
                                                x =>
            {
                var itemView = LayoutInflater.From(x.Item1.Context)
                               .Inflate(Resource.Layout.item_chat_contact, x.Item1, false);

                var viewHolder = new ChatUserViewHolder(itemView);
                viewHolder.ContactSwitch.Visibility = ViewStates.Gone;
                return(viewHolder);
            }));
        }