public override void OnViewCreated(View view, Bundle savedInstanceState) { var count = status == BikeActionStatus.Stop ? station.BikeCount : station.EmptySlotCount; var ratio = ((float)count) / station.Capacity; var color = InterpolateColor(Color.Rgb(0xff, 0x44, 0x44), Color.Rgb(0x99, 0xcc, 0x00), ratio); var bg = new RoundRectDrawable(color, TypedValue.ApplyDimension(ComplexUnitType.Dip, 2, view.Resources.DisplayMetrics)); var countText = view.FindViewById <TextView> (Resource.Id.count); countText.Text = count.ToString(); countText.SetBackgroundDrawable(bg); string secondary; var primary = StationUtils.CutStationName(station.Name, out secondary); view.FindViewById <TextView> (Resource.Id.stationPrimary).Text = primary; view.FindViewById <TextView> (Resource.Id.stationSecondary).Text = secondary; var distance = GeoUtils.Distance(currentLocation, station.Location); var distanceText = view.FindViewById <TextView> (Resource.Id.distance); if (distance < 1) { distanceText.Text = (distance * 1000).ToString("N0") + " meters"; } else { distanceText.Text = distance.ToString("N1") + " km"; } }
void SetCountText(View view) { var count = status == BikeActionStatus.Start ? station.Bikes : station.Racks; var ratio = ((float)count) / (station.Racks + station.Bikes); var color = InterpolateColor(Color.Rgb(0xff, 0x44, 0x44), Color.Rgb(0x99, 0xcc, 0x00), ratio); var bg = new RoundRectDrawable(color, TypedValue.ApplyDimension(ComplexUnitType.Dip, 2, view.Resources.DisplayMetrics)); var countText = View.FindViewById <TextView> (Resource.Id.count); countText.Text = count.ToString(); ((View)countText.Parent).SetBackgroundDrawable(bg); }