/// <summary> /// Rafraichit les différentes variables affichés sur la map /// </summary> public void RefreshMarkers() { /*if (ZonePolygon == null || ZonePolygon.Points.Count == 0) * { * CountOfPointsTextView.Text = "0"; * SurfaceTextView.Text = string.Format("0 {0}", Resources.GetString(Resource.String.unit_squarre)); * //BottomLayout.Visibility = ViewStates.Gone; * ExplanationTextView.Visibility = ViewStates.Visible; * return; * } * BottomLayout.Visibility = ViewStates.Visible; * ExplanationTextView.Visibility = ViewStates.Gone; * * if (ZonePolygon.Points.Count == 1) CountOfPointsTextView.Text = "1"; * else CountOfPointsTextView.Text = (ZonePolygon.Points.Count - 1).ToString(); */ var surface = AreaHelper.CalculateAreaOfGPSPolygonOnEarthInSquareMeters(ZonePolygon.Points.ToList()); SurfaceTextView.Text = AreaHelper.SerializeArea(surface); }
/// <summary> /// /// </summary> private void InitializeSurfaceStatTextView() { if (ZonePolygon == null) { return; } if (SurfaceStatTextView == null) { return; } var surface = AreaHelper.CalculateAreaOfGPSPolygonOnEarthInSquareMeters(ZonePolygon.Points.ToList()); var surfaceStat = AreaHelper.SerializeArea(surface); var textSurfaceStat = string.Format(Resources.GetString(Resource.String.modeZone_surfaceStr), surfaceStat); var resultTuple = SeekiosApp.Helper.StringHelper.GetStartAndEndIndexOfNumberInString(textSurfaceStat); var formattedTextSurfaceStat = new SpannableString(textSurfaceStat); formattedTextSurfaceStat.SetSpan(new ForegroundColorSpan(Color.ParseColor(App.MainColor)), resultTuple.Item1, resultTuple.Item2, 0); SurfaceStatTextView.SetText(formattedTextSurfaceStat, TextView.BufferType.Spannable); }
public override Android.Views.View GetView(int position, Android.Views.View convertView, ViewGroup parent) { // item en cours de traitement var item = App.CurrentUserEnvironment.LsFavoriteArea[position]; // pas de vue à utiliser ? création d'une vue FavoriteAreaViewHolder holder = null; if (!_alreadyCreatedViews.ContainsKey(item.IdfavoriteArea)) { _alreadyCreatedViews.Add(item.IdfavoriteArea, null); } Android.Views.View view = _alreadyCreatedViews[item.IdfavoriteArea]; // Si on a récupéré la vue on récupère le holder dans son tag if (view != null) { holder = view.Tag as FavoriteAreaViewHolder; } // Si le holder n'est pas défini, on le fait et on crée la vue if (holder == null) { holder = new FavoriteAreaViewHolder(); view = _context.LayoutInflater.Inflate(Resource.Layout.ZoneFavoriteRow, null); view.Tag = holder; // récupération des objets de la vue holder.AreaName = view.FindViewById <TextView>(Resource.Id.favoriteArea_areaName); holder.PointsCount = view.FindViewById <TextView>(Resource.Id.favoriteArea_pointsCount); holder.AreaGeodesic = view.FindViewById <TextView>(Resource.Id.favoriteArea_area); holder.DeleteAlerte = view.FindViewById <XamSvg.SvgImageView>(Resource.Id.favoriteArea_delete); holder.RootGrid = view.FindViewById <GridLayout>(Resource.Id.favoriteArea_rootGrid); // boutton supprimer holder.DeleteAlerte.Click += new EventHandler(async(o, e) => { await App.Locator.ModeZone.DeleteFavoriteArea(item); if (_refresh != null) { _refresh.Invoke(); } }); // clique sur l'item (root) holder.RootGrid.Click += new EventHandler((o, e) => { App.Locator.ModeZone.SelectedFavoriteArea = item; if (_dismiss != null) { // quitte la popup (dismiss) _dismiss.Invoke(); } }); _alreadyCreatedViews[item.IdfavoriteArea] = view; } // initialisation des variables de la vue holder.AreaName.Text = item.AreaName; holder.PointsCount.Text = string.Format("{0} points", item.PointsCount); holder.AreaGeodesic.Text = AreaHelper.SerializeArea(item.AreaGeodesic); return(view); }