public MvxImageViewSvgDrawableTargetBinding(SvgImageView imageView) : base(imageView) { }
/// <summary> /// Ajoute un contact à l'élément parent (LinearLayout) /// </summary> /// <param name="contact">contact à ajouter</param> public void AddChild(Contact contact) { if (contact == null) { return; } var emptyTextView = FindViewById(12); if (emptyTextView != null) { RemoveView(emptyTextView); } // layout for displaying the name and the phone number or email var numberEmailLayout = new LinearLayout(Context); var layoutParammainLayout = new LayoutParams(ViewGroup.LayoutParams.WrapContent, ViewGroup.LayoutParams.MatchParent); numberEmailLayout.Clickable = true; numberEmailLayout.Orientation = Orientation.Vertical; numberEmailLayout.SetBackgroundColor(Color.Transparent); numberEmailLayout.LayoutParameters = layoutParammainLayout; // layout that contains all the element var rootLayout = new LinearLayout(Context); var layoutParamLayout = new LayoutParams(ViewGroup.LayoutParams.WrapContent, ViewGroup.LayoutParams.MatchParent); rootLayout.Clickable = true; rootLayout.Orientation = Orientation.Horizontal; rootLayout.SetBackgroundColor(Color.Transparent); rootLayout.SetPadding(AccessResources.Instance.SizeOf5Dip() , AccessResources.Instance.SizeOf5Dip() , AccessResources.Instance.SizeOf5Dip() , AccessResources.Instance.SizeOf5Dip()); rootLayout.LayoutParameters = layoutParamLayout; // display the name var contactTextView = new TextView(Context); contactTextView.Id = 13; var layoutParamTextView = new LayoutParams(ViewGroup.LayoutParams.WrapContent, ViewGroup.LayoutParams.WrapContent); layoutParamTextView.Gravity = GravityFlags.CenterVertical; contactTextView.Text = contact.DisplayName; contactTextView.SetTextColor(Color.ParseColor(Resources.GetString(Resource.Color.textColorContent))); contactTextView.SetTextSize(ComplexUnitType.Dip, 16); contactTextView.LayoutParameters = layoutParamTextView; contactTextView.Clickable = false; // delete button var buttonDeleteContact = new SvgImageView(Context); var layoutParamButton = new LayoutParams(ViewGroup.LayoutParams.WrapContent, ViewGroup.LayoutParams.WrapContent); layoutParamButton.Gravity = GravityFlags.Top; layoutParamButton.Height = AccessResources.Instance.SizeOf20Dip(); layoutParamButton.Width = AccessResources.Instance.SizeOf20Dip(); layoutParamButton.SetMargins(AccessResources.Instance.SizeOf10Dip(), AccessResources.Instance.SizeOf5Dip(), AccessResources.Instance.SizeOf10Dip(), 0); buttonDeleteContact.SetSvg(Context, Resource.Drawable.RoundedDelete); buttonDeleteContact.LayoutParameters = layoutParamButton; buttonDeleteContact.Click += ((o, e) => { App.Locator.Alert.LsRecipients.RemoveAll(el => el.DisplayName.TrimEnd(' ') == contact.DisplayName); App.Locator.AlertSOS.LsRecipients.RemoveAll(el => el.DisplayName.TrimEnd(' ') == contact.DisplayName); RemoveView(rootLayout); ContactInit(); }); // display the phone number or the email var phoneEmailTextView = new TextView(Context); var layoutParamTxtView = new LayoutParams(ViewGroup.LayoutParams.WrapContent, ViewGroup.LayoutParams.WrapContent); layoutParamTxtView.Gravity = GravityFlags.CenterVertical; phoneEmailTextView.SetPadding(0, AccessResources.Instance.SizeOf5Dip(), 0, 0); phoneEmailTextView.Text = contact.Email; phoneEmailTextView.SetTextColor(Color.ParseColor(Resources.GetString(Resource.Color.textColorContent))); phoneEmailTextView.SetTextSize(ComplexUnitType.Dip, 14); phoneEmailTextView.LayoutParameters = layoutParamTxtView; phoneEmailTextView.Clickable = false; numberEmailLayout.AddView(contactTextView); numberEmailLayout.AddView(phoneEmailTextView); rootLayout.AddView(numberEmailLayout); rootLayout.AddView(buttonDeleteContact); AddView(rootLayout); }