/// <inheritdoc /> /// <summary> /// </summary> /// <returns></returns> public TableGroup GenerateTable() => new TableGroup(Resources.Title_Astro) { new TableItem(Resources.Astro_Sunrise, XameteoL10N.ShortTime(XameteoL10N.ParseTime(Sunrise))), new TableItem(Resources.Astro_Sunset, XameteoL10N.ShortTime(XameteoL10N.ParseTime(Sunset))), new TableItem(Resources.Astro_Moonrise, XameteoL10N.ShortTime(XameteoL10N.ParseTime(Moonrise))), new TableItem(Resources.Astro_Moonset, XameteoL10N.ShortTime(XameteoL10N.ParseTime(Moonset))) };
/// <inheritdoc /> /// <summary> /// </summary> /// <returns></returns> public TableGroup GenerateTable() => new TableGroup(Resources.Tab_Now) { new TableItem(Resources.Forecast_Feels_Like, XameteoApp.Instance.Temperature.Convert(FeelsLike)), new TableItem(Resources.Forecast_Humidity, XameteoL10N.Percentage(Humidity)), new TableItem(Resources.Forecast_Wind_Velocity, XameteoApp.Instance.Velocity.Convert(WindVelocity)), new TableItem(Resources.Forecast_Wind_Direction, XameteoL10N.LongCompass(WindDegree)), new TableItem(Resources.Forecast_Pressure, XameteoApp.Instance.Pressure.Convert(Pressure)), new TableItem(Resources.Forecast_Precipitation, XameteoApp.Instance.Precipitation.Convert(Precipitation)), new TableItem(Resources.Forecast_Visibility, XameteoApp.Instance.Distance.Convert(Visibility)) };
/// <inheritdoc /> /// <summary> /// </summary> /// <returns></returns> public TableGroup GenerateTable() => new TableGroup(Resources.Tab_Today) { new TableItem(Resources.Forecast_Precipitation, XameteoApp.Instance.Precipitation.Convert(Precipitation)), new TableItem(Resources.Forecast_Wind_Velocity, XameteoApp.Instance.Velocity.Convert(WindVelocity)), new TableItem(Resources.Forecast_Humidity, XameteoL10N.Percentage(Humidity)), new TableItem(Resources.Forecast_Visibility, XameteoApp.Instance.Distance.Convert(Visibility)), new TableItem(Resources.Forecast_Ultraviolet, Ultraviolet.ToString()), Condition.GenerateTable(), new TableItem(Resources.Forecast_Average, XameteoApp.Instance.Temperature.Convert(Average)), new TableItem(Resources.Forecast_Minimum, XameteoApp.Instance.Temperature.Convert(Minimum)), new TableItem(Resources.Forecast_Maxmum, XameteoApp.Instance.Temperature.Convert(Maximum)) };
/// <summary> /// </summary> public TodayPage(ForecastDaily forecast) { _graph = new SkiaGraph(forecast.Hours.Select(hour => new GraphIndex { Hide = hour.Date.Hour % 3 != 1, Y = (float)hour.Temperature, Label = XameteoL10N.OnlyHour(hour.Date), ImageId = hour.Condition.Image(hour.IsDay) }).ToList()); forecast.Hours.ForEach(it => Items.Add(it.GenerateTable())); InitializeComponent(); BindingContext = this; }
/// <summary> /// </summary> public ForecastPage(Forecast forecast) { _graph = new SkiaGraph(forecast.Days.Select(hour => new GraphIndex { Hide = false, Y = (float)hour.Day.Average, ImageId = hour.Day.Condition.Image(true), Label = XameteoL10N.OnlyDayMonth(hour.Date) }).Take(7).ToList()); Items = forecast.Days; InitializeComponent(); BindingContext = this; }
/// <summary> /// </summary> /// <param name="forecast"></param> public HistoryView(ForecastDaily forecast) { _graph = new SkiaGraph(forecast.Hours.Select(hour => new GraphIndex { Y = (float)hour.Temperature, Hide = hour.Date.Hour % 3 != 1, Label = XameteoL10N.OnlyHour(hour.Date), ImageId = hour.Condition.Image(hour.IsDay) }).ToList()); Items.Add(forecast.Day.GenerateTable()); Items.Add(forecast.Astro.GenerateTable()); InitializeComponent(); BindingContext = this; }
/// <summary> /// </summary> /// <returns></returns> public TableItem GenerateTable() => new TableItem(Resources.Forecast_Condition, XameteoL10N.GetCondition(this));
/// <summary> /// </summary> /// <param name="isDay"></param> /// <returns></returns> public string Image(bool isDay) => XameteoL10N.GetDrawable(isDay ? $"day_{Id}.png" : $"night_{Id}.png");