예제 #1
0
    public override RecyclerView.ViewHolder OnCreateViewHolder(ViewGroup parent, int viewType)
    {
        View row = LayoutInflater.From(parent.Context).Inflate(Resource.Layout.row, parent, false);
        RecyclerViewHolder view = new RecyclerViewHolder(row);

        return(view);
    }
        bool BuildViewHolders()
        {
            var viewHoldersCapacity = m_Layout.GetViewHoldersCapacity(m_State);

            viewHoldersCapacity += k_ViewHolderBufferSize * 2;
            bool rebuild = m_ViewHolders == null || viewHoldersCapacity > m_ViewHolders.Length;

            if (rebuild)
            {
                if (m_ViewHolders == null)
                {
                    m_ViewHolders = new RecyclerViewHolder[viewHoldersCapacity];
                }
                else
                {
                    Array.Resize(ref m_ViewHolders, viewHoldersCapacity);
                }

                for (int i = 0; i < m_ViewHolders.Length; ++i)
                {
                    if (m_ViewHolders[i] == null)
                    {
                        m_ViewHolders[i]               = new RecyclerViewHolder();
                        m_ViewHolders[i].ViewType      = GetViewType(i);
                        m_ViewHolders[i].GameObject    = OnCreateViewHolder(m_ScrollRect.content, m_ViewHolders[i].ViewType);
                        m_ViewHolders[i].RectTransform = m_ViewHolders[i].GameObject.GetComponent <RectTransform>();
                    }
                    m_ViewHolders[i].GameObject.SetActive(false);
                }
            }

            return(rebuild);
        }
예제 #3
0
        public override void OnBindViewHolder(RecyclerView.ViewHolder holder, int position)
        {
            RecyclerViewHolder vh = holder as RecyclerViewHolder;

            vh.Label.Text = Items[position].PodcastFeed.Folder;
            //vh.SubLabel.Text = Items[position].PodcastFeed.Feed.Address.ToString();
            var fmt = Context.GetString(Resource.String.feed_sublabel_fmt);

            vh.SubLabel.Text = string.Format(fmt,
                                             GetSublabelPart(
                                                 Items[position].PodcastFeed.Feed.MaximumDaysOld.Value,
                                                 Resource.Plurals.feed_sublabel_download,
                                                 Resource.String.feed_sublabel_download_all),
                                             GetSublabelPart(
                                                 Items[position].PodcastFeed.Feed.DeleteDownloadsDaysOld.Value,
                                                 Resource.Plurals.feed_sublabel_delete,
                                                 Resource.String.feed_sublabel_delete_never)
                                             );
            var fmt2 = Context.GetString(Resource.String.feed_sublabel_fmt2);

            vh.SubLabel2.Text = string.Format(fmt2,
                                              Context.GetString(GetNamingStyleTextId(Items[position].PodcastFeed.Feed.NamingStyle.Value)),
                                              Context.GetString(GetDownloadStratagyTextId(Items[position].PodcastFeed.Feed.DownloadStrategy.Value))
                                              );
            vh.Container.Tag = position.ToString();
        }
            public override RecyclerView.ViewHolder OnCreateViewHolder(ViewGroup parent, int viewType)
            {
                View itemView = LayoutInflater.From(parent.Context).Inflate(Resource.Layout.cardview, parent, false);
                RecyclerViewHolder viewholder = new RecyclerViewHolder(itemView, OnClick);

                return(viewholder);
            }
예제 #5
0
    public override void OnBindViewHolder(RecyclerView.ViewHolder holder, int position)
    {
        RecyclerViewHolder myHolder = holder as RecyclerViewHolder;

        myHolder.mDate.Text    = ((Email)mEmails[position]).date;
        myHolder.mSubject.Text = ((Email)mEmails[position]).Subject;
        myHolder.mMessage.Text = ((Email)mEmails[position]).Message;
    }
예제 #6
0
        public void UpdateChildPosition(RecyclerViewHolder child, Rect childRect, int dataIndex)
        {
            Vector2 pivot     = child.RectTransform.pivot;
            float   xPosition = Orientation == LayoutOrientation.Horizontal ? childRect.width * dataIndex + pivot.x * childRect.width: 0f;
            float   yPosition = Orientation == LayoutOrientation.Vertical ? childRect.height * dataIndex + pivot.y * childRect.height : 0f;

            child.RectTransform.anchoredPosition = new Vector2(xPosition, -yPosition);
        }
            //refact this into async
            public override void OnBindViewHolder(RecyclerView.ViewHolder holder, int position)
            {
                RecyclerViewHolder viewholder = holder as RecyclerViewHolder;

                //filling recycler view with data
                Picasso.With(context).Load("http://www.segodnya.ua" + news[position].newsImgURL).Into(viewholder.image);
                viewholder.title.Text       = news[position].newsTitle;
                viewholder.description.Text = news[position].newsSubTitle;
            }
 void UpdateChild(RecyclerViewHolder child, int dataIndex)
 {
     if (dataIndex >= 0 && dataIndex < m_State.childCount)
     {
         m_Layout.UpdateChildPosition(child, m_State.childSize, dataIndex);
         OnBindViewHolder(child.GameObject, dataIndex);
         child.GameObject.SetActive(true);
     }
     else
     {
         child.GameObject.SetActive(false);
     }
 }
예제 #9
0
        public override void OnBindViewHolder(RecyclerView.ViewHolder holder, int position)
        {
            RecyclerViewHolder vh = holder as RecyclerViewHolder;

            // unsubscribe if it was subscribed before
            vh.Container.Click -= Container_Click;

            vh.Label.Text       = ViewModel.GetLabelForList(Items[position].FileOrDirectoryItem);
            vh.CheckBox.Checked = Items[position].Selected;
            vh.CheckBox.Enabled = !ReadOnly;

            vh.Container.Tag    = position.ToString();
            vh.Container.Click += Container_Click;
        }
예제 #10
0
 public override RecyclerView.ViewHolder OnCreateViewHolder(ViewGroup parent, int viewType)
 {
     if (viewType == ListItem.TYPE_HEADER)
     {
         View head = LayoutInflater.From(parent.Context).Inflate(Resource.Layout.head, parent, false);
         RecyclerViewHeadHolder view = new RecyclerViewHeadHolder(head);
         return(view);
     }
     else
     {
         View row = LayoutInflater.From(parent.Context).Inflate(Resource.Layout.row, parent, false);
         RecyclerViewHolder view = new RecyclerViewHolder(row);
         return(view);
     }
 }
예제 #11
0
    public override void OnBindViewHolder(RecyclerView.ViewHolder holder, int position)
    {
        int type = GetItemViewType(position);

        if (type == ListItem.TYPE_HEADER)
        {
            RecyclerViewHeadHolder myHolder = holder as RecyclerViewHeadHolder;
            myHolder.mDate.Text = ((DataItem)mEmails[position]).Date;
        }
        else
        {
            RecyclerViewHolder myHolder = holder as RecyclerViewHolder;
            myHolder.mName.Text    = ((Email)mEmails[position]).date;
            myHolder.mSubject.Text = ((Email)mEmails[position]).Subject;
            myHolder.mMessage.Text = ((Email)mEmails[position]).Message;
        }
    }
        public override void OnBindViewHolder(RecyclerView.ViewHolder holder, int position)
        {
            RecyclerViewHolder vh = holder as RecyclerViewHolder;

            // unsubscribe if it was subscribed before
            vh.Container.Click -= Container_Click;

            vh.Label.Text    = Items[position].SyncItem.EpisodeTitle;
            vh.SubLabel.Text = Items[position].SyncItem.Published.ToShortDateString();

            vh.Progress.Progress = Items[position].ProgressPercentage;

            vh.CheckBox.Checked = Items[position].Selected;
            vh.CheckBox.Enabled = !ReadOnly;

            vh.Container.Tag    = position.ToString();
            vh.Container.Click += Container_Click;
        }
예제 #13
0
        public override void OnBindViewHolder(RecyclerView.ViewHolder holder, int position)
        {
            if (holder is RecyclerViewHolder)
            {
                RecyclerViewHolder recyclerViewHolder        = (RecyclerViewHolder)holder;
                Android.Views.Animations.Animation animation = AnimationUtils.LoadAnimation(context, Resource.Animation.anim_recycler_item_show);
                recyclerViewHolder.mView.StartAnimation(animation);
                recyclerViewHolder.Msg.Text = $"{position}";

                AlphaAnimation aa1 = new AlphaAnimation(1.0f, 0.1f);
                aa1.Duration = 400;
                recyclerViewHolder.rela_round.StartAnimation(aa1);

                AlphaAnimation aa = new AlphaAnimation(0.1f, 1.0f);
                aa.Duration = 400;

                if (color == 1)
                {
                    recyclerViewHolder.rela_round.BackgroundTintList = ColorStateList.ValueOf(new Android.Graphics.Color(Utils.AppUtils.GetColor(context, Resource.Color.google_blue)));
                }
                else if (color == 2)
                {
                    recyclerViewHolder.rela_round.BackgroundTintList = ColorStateList.ValueOf(new Android.Graphics.Color(Utils.AppUtils.GetColor(context, Resource.Color.google_green)));
                }
                else if (color == 3)
                {
                    recyclerViewHolder.rela_round.BackgroundTintList = ColorStateList.ValueOf(new Android.Graphics.Color(Utils.AppUtils.GetColor(context, Resource.Color.google_yellow)));
                }
                else if (color == 4)
                {
                    recyclerViewHolder.rela_round.BackgroundTintList = ColorStateList.ValueOf(new Android.Graphics.Color(Utils.AppUtils.GetColor(context, Resource.Color.google_red)));
                }
                else
                {
                    recyclerViewHolder.rela_round.BackgroundTintList = ColorStateList.ValueOf(new Android.Graphics.Color(Utils.AppUtils.GetColor(context, Resource.Color.gray)));
                }

                recyclerViewHolder.rela_round.StartAnimation(aa);

                recyclerViewHolder.mView.SetOnClickListener(new RecycleViewHolderClick(context, recyclerViewHolder, color));
            }
        }
예제 #14
0
        public override void OnBindViewHolder(RecyclerView.ViewHolder holder, int position)
        {
            RecyclerViewHolder vh = holder as RecyclerViewHolder;

            // unsubscribe if it was subscribed before
            vh.Container.Click -= Container_Click;

            vh.Label.Text    = Items[position].SyncItem.EpisodeTitle;
            vh.SubLabel.Text = Items[position].SyncItem.Published.ToShortDateString();
            var fmt = Context.GetString(Resource.String.download_sublabel_fmt);

            vh.SubLabel.Text = string.Format(fmt,
                                             Items[position].SyncItem.Published.ToShortDateString(),
                                             GetStatusText(Items[position].DownloadStatus)
                                             );

            vh.Progress.Progress = Items[position].ProgressPercentage;

            vh.CheckBox.Checked = Items[position].Selected;
            vh.CheckBox.Enabled = !ReadOnly && Items[position].DownloadStatus != Status.Complete;

            vh.Container.Tag    = position.ToString();
            vh.Container.Click += Container_Click;
        }
예제 #15
0
 public RecycleViewHolderClick(Context ctx, RecyclerViewHolder holder, int color)
 {
     this.currentContext = ctx;
     this.holder         = holder;
     this.color          = color;
 }