コード例 #1
0
            public override void GetView(int postion, ChatViewHolder holder, View view, TodoItem item)
            {
                string checkImage = "image_check_selected";
                Color  taskColor  = ViewBuilder.ColorFromARGB(AppController.Colors.AshGray);

                if (!item.IsComplete)
                {
                    checkImage = "image_check_empty_green";

                    DateTime dueDate = item.CreationDate.GetValueOrDefault().Date.AddDays(item.WillDoIn);
                    int      dueDays = (dueDate - DateTime.Now.Date).Days;
                    taskColor = ViewBuilder.ColorFromARGB(AppController.Colors.Green);
                    if (dueDays < 2)
                    {
                        checkImage = "image_check_empty_red";
                        taskColor  = ViewBuilder.ColorFromARGB(AppController.Colors.Red);
                    }
                    else if (dueDays < 4)
                    {
                        checkImage = "image_check_empty_orange";
                        taskColor  = ViewBuilder.ColorFromARGB(AppController.Colors.Orange);
                    }
                }

                holder.CheckButton.SetImageResource(checkImage);

                holder.TitleLabel.Text = item.Title;
                holder.TitleLabel.SetTextColor(taskColor);
            }
コード例 #2
0
        public override void OnBindViewHolder(RecyclerView.ViewHolder holder, int position)
        {
            ChatViewHolder vh = holder as ChatViewHolder;

            vh.messageText.Text = messagesList[position]["Comment"].ToString();
            vh.messageTime.Text = $"{((DateTime)messagesList[position]["Time"]).ToShortDateString()} {((DateTime)messagesList[position]["Time"]).ToShortTimeString()}";
            var avaparam     = vh.messageAva.LayoutParameters as RelativeLayout.LayoutParams;
            var bubleparam   = vh.messageBubble.LayoutParameters as RelativeLayout.LayoutParams;
            var messageparam = vh.messageTime.LayoutParameters as RelativeLayout.LayoutParams;

            if ((string)messagesList[position]["Initiator"] == "Станция")
            {
                avaparam.AddRule(LayoutRules.AlignParentLeft, vh.messageLayout.Id);
                bubleparam.AddRule(LayoutRules.RightOf, vh.messageAva.Id);
                messageparam.AddRule(LayoutRules.RightOf, vh.messageAva.Id);
                vh.messageBubble.Background = ContextCompat.GetDrawable(vh.ItemView.Context, Resource.Drawable.IncomingMessage);
            }
            else
            {
                avaparam.AddRule(LayoutRules.AlignParentRight, vh.messageLayout.Id);
                bubleparam.AddRule(LayoutRules.LeftOf, vh.messageAva.Id);
                messageparam.AddRule(LayoutRules.LeftOf, vh.messageAva.Id);
                vh.messageBubble.Background = ContextCompat.GetDrawable(vh.ItemView.Context, Resource.Drawable.OutgoingMessage);
            }
            vh.messageAva.LayoutParameters    = avaparam;
            vh.messageBubble.LayoutParameters = bubleparam;
            vh.messageTime.LayoutParameters   = messageparam;
            //vh.messageAva.SetImageDrawable(roundDrawable);
        }
コード例 #3
0
        public override RecyclerView.ViewHolder OnCreateViewHolder(ViewGroup parent, int viewType)
        {
            View           itemView = LayoutInflater.From(parent.Context).Inflate(Resource.Layout.view_chatmessage, parent, false);
            ChatViewHolder vh       = new ChatViewHolder(itemView);

            return(vh);
        }
コード例 #4
0
            public override void GetView(int postion, ChatViewHolder holder, View view, Model.Message item)
            {
                bool isYours   = _currentUser == item.Sender;
                bool isSending = item.PostDate == null;
                bool isSent    = item.PostDate.GetValueOrDefault() != DateTime.MinValue;

                if (!isYours && !_colors.ContainsKey(item.Sender))
                {
                    _colors.Add(item.Sender, _palette[_rnd.Next(_palette.Count)]);
                }

                ((RelativeLayout)view).SetGravity(isYours ? GravityFlags.Right : GravityFlags.Left);
                holder.CalloutLayout.Background.SetColorFilter(
                    ViewBuilder.ColorFromARGB(isYours ? AppController.Colors.PapayaWhip : _colors[item.Sender]),
                    PorterDuff.Mode.SrcIn);
                holder.CalloutLayout.Alpha = isSent ? 1 : .35f;

                holder.SenderLabel.Text = String.Concat(isYours ? "YOU" : item.Sender.Split('@')[0], "   ");
                holder.SenderLabel.SetTextColor(ViewBuilder.ColorFromARGB(isYours ? AppController.Colors.Jet : AppController.Colors.White));

                holder.MessageLabel.Text = String.Concat(item.Content, "   ");
                holder.MessageLabel.SetTextColor(ViewBuilder.ColorFromARGB(isYours ? AppController.Colors.Jet : AppController.Colors.White));

                holder.DateLabel.Text = isSent ? String.Format("  sent @ {0:G}", item.PostDate) : String.Empty;
                holder.DateLabel.SetTextColor(ViewBuilder.ColorFromARGB(isYours ? AppController.Colors.Jet : AppController.Colors.White));
            }
コード例 #5
0
            public override void GetView(int postion, ChatViewHolder holder, View view, Message item)
            {
                bool isYours   = String.IsNullOrWhiteSpace(item.Sender);
                bool isSending = item.SendDate == DateTime.MinValue;
                bool isSent    = item.SendDate != DateTime.MinValue && item.SendDate != DateTime.MaxValue;
                bool isLost    = item.SendDate == DateTime.MaxValue;

                if (!isYours && !_colors.ContainsKey(item.Sender))
                {
                    _colors.Add(item.Sender, _palette[_rnd.Next(_palette.Count)]);
                }

                ((RelativeLayout)view).SetGravity(isYours ? GravityFlags.Right : GravityFlags.Left);

                holder.SenderLabel.Text = String.Concat(isYours ? "YOU" : item.Sender.Split('@')[0], "   ");

                holder.CalloutLayout.Background.SetColorFilter(
                    ViewBuilder.ColorFromARGB(isYours ? AppController.Colors.PictonBlue : _colors[item.Sender]),
                    PorterDuff.Mode.SrcIn);

                holder.CalloutLayout.Alpha = isSent ? 1 : .35f;

                holder.MessageLabel.Text = String.Concat(item.Content, "   ");

                holder.DateLabel.Text = isSent ? String.Format("  sent @ {0:G}", item.SendDate) : String.Empty;
            }
コード例 #6
0
            // Fill in the contents of the photo card (invoked by the layout manager):
            public override void OnBindViewHolder(RecyclerView.ViewHolder holder, int position)
            {
                ChatViewHolder vh = holder as ChatViewHolder;

                // Set the ImageView and TextView in this ViewHolder's CardView
                // from this position in the photo album:
                vh.ChatName.Text = this.chats[position].Name;
            }
コード例 #7
0
            public override void GetView(int postion, ChatViewHolder holder, View view, Gimmick item)
            {
                AppController.Images.SetImageForView(
                    new Uri(item.ImageUrl), "image_gear", holder.ThumbImage);

                holder.NameLabel.Text  = item.Name;
                holder.OwnerLabel.Text = item.Owner;
            }
コード例 #8
0
            public override void GetView(int postion, ChatViewHolder holder, View view, Issue item)
            {
                string[] typeImages = new[] { "image_gear", "image_issue_crash", "image_issue_blocking", "image_issue_nblocking" };
                holder.TypeImage.SetImageResource(typeImages[(int)item.Type]);

                holder.CodeLabel.Text              = String.Format("code: #{0}", item.Code);
                holder.TitleLabel.Text             = item.Title;
                holder.SenderLabel.Text            = item.Sender.Split('@')[0];
                holder.DescriptionLabel.Text       = item.Description;
                holder.CreatedDateLabel.Text       = item.CreationDate?.ToString("d");
                holder.StatusDescriptionLabel.Text = item.Status.ToString();
            }
コード例 #9
0
            // Create a new photo CardView (invoked by the layout manager):
            public override RecyclerView.ViewHolder OnCreateViewHolder(ViewGroup parent, int viewType)
            {
                // Inflate the CardView for the photo:
                View itemView = LayoutInflater.From(parent.Context).
                                Inflate(Resource.Layout.GroupCardView, parent, false);

                // Create a ViewHolder to find and hold these view references, and
                // register OnClick with the view holder:
                ChatViewHolder vh = new ChatViewHolder(itemView, OnClick);

                return(vh);
            }