示例#1
0
        public ComponentListViewAdapter(int id, Context context, ComponentListMode mode, bool ignoreDefaults = true)
        {
            model = new ComponentsModel(id, mode);

            int position = 0;

            foreach (ComponentModel cModel in model.ComponentModels)
            {
                CheckBoxWithId thisItem = new CheckBoxWithId(context);
                thisItem.Group       = cModel.Group;
                thisItem.Position    = position++;
                thisItem.ComponentId = cModel.Id;

                TextViewWithId portions = new TextViewWithId(context);
                portions.ComponentId = cModel.Id;
                portions.Text        = " " + cModel.Portions.ToString();
                portions.SetTextColor(Color.White);
                portions.SetBackgroundColor(Color.Black);
                portions.SetTextSize(Android.Util.ComplexUnitType.Sp, 25);
                portions.Click += Portions_Click;

                ImageViewWithId arrow = new ImageViewWithId(context);
                arrow.SetImageResource(Resource.Drawable.ViewComponents);
                arrow.SetPadding(5, 8, 0, 0);
                arrow.ComponentId = cModel.Id;
                arrow.Visibility  = ViewStates.Invisible;
                arrow.Click      += Arrow_Click;

                if (!ignoreDefaults && cModel.IsDefault)
                {
                    thisItem.Checked = true;
                }

                checkBoxes.Add(thisItem);
                this.portions.Add(portions);
                arrows.Add(arrow);
            }
        }
        public void AddOrderItem(OrderItemModel model)
        {
            TableRow newRow = new TableRow(container.Context);

            TextView nameView  = new TextView(container.Context);
            TextView priceView = new TextView(container.Context);

            nameView.Text = model.DisplayName;
            nameView.SetPadding(10, 0, 0, 0);
            nameView.SetTextSize(ComplexUnitType.Sp, 20);
            nameView.SetTextColor(Color.Black);

            priceView.Text = model.Price.ToString("#0.00");
            priceView.SetPadding(90, 0, 0, 0);
            priceView.SetTextSize(ComplexUnitType.Sp, 20);
            priceView.SetBackgroundColor(Color.White);
            priceView.SetTextColor(Color.Black);

            newRow.AddView(nameView);
            newRow.AddView(priceView);

            nameViews.Add(nameView);
            priceViews.Add(priceView);

            if (container.Parent.Parent is CurrentOrderLayout)
            {
                ImageViewWithPosition deleteImage = new ImageViewWithPosition(container.Context);

                Resources res = container.Context.Resources;
                if (model.State == State.None)
#pragma warning disable CS0618 // Type or member is obsolete
                {
                    deleteImage.SetImageDrawable(res.GetDrawable(Resource.Drawable.Delete));
                }
#pragma warning restore CS0618 // Type or member is obsolete
                else if (model.State == State.Started)
#pragma warning disable CS0618 // Type or member is obsolete
                {
                    deleteImage.SetImageDrawable(res.GetDrawable(Resource.Drawable.Locked));
                }
#pragma warning restore CS0618 // Type or member is obsolete
                else
#pragma warning disable CS0618 // Type or member is obsolete
                {
                    deleteImage.SetImageDrawable(res.GetDrawable(Resource.Drawable.Completed));
                }
#pragma warning restore CS0618 // Type or member is obsolete

                deleteImage.SetPadding(15, 0, 0, 0);

                if (model.State == State.None)
                {
                    deleteImage.Click += DeleteImage_Click;
                }

                deleteImage.Id       = model.Id;
                deleteImage.Position = deleteButtons.Count;
                deleteButtons.Add(deleteImage);

                newRow.AddView(deleteImage);

                ImageViewWithId editImage = new ImageViewWithId(container.Context);

                if (model.State == State.None)
#pragma warning disable CS0618 // Type or member is obsolete
                {
                    editImage.SetImageDrawable(res.GetDrawable(Resource.Drawable.Pen));
                }
#pragma warning restore CS0618 // Type or member is obsolete
                else if (model.State == State.Started)
#pragma warning disable CS0618 // Type or member is obsolete
                {
                    editImage.SetImageDrawable(res.GetDrawable(Resource.Drawable.Locked));
                }
#pragma warning restore CS0618 // Type or member is obsolete
                else if (model.State == State.Completed)
#pragma warning disable CS0618 // Type or member is obsolete
                {
                    editImage.SetImageDrawable(res.GetDrawable(Resource.Drawable.Completed));
                }
#pragma warning restore CS0618 // Type or member is obsolete

                editImage.SetPadding(15, 0, 0, 0);

                if (model.State == State.None)
                {
                    editImage.Click += EditImage_Click;
                }

                editImage.Id       = model.Id;
                editImage.Position = deleteButtons.Count - 1;
                editButtons.Add(editImage);

                newRow.AddView(editImage);
            }

            layout.AddView(newRow);

            nameView.LayoutParameters.Width = 600;
        }