private void Calendar_DaySlotLoading(object sender, CalendarDaySlotLoadingEventArgs e)
        {
            // get day
            Java.Util.Date date = e.Date;
            Java.Util.Calendar cal = Java.Util.Calendar.GetInstance(Java.Util.Locale.English);
            cal.Time = date;
            int day = cal.Get(Java.Util.CalendarField.DayOfMonth);

            // create day slot layout container
            CalendarDaySlotBase layout = new CalendarDaySlotBase(ApplicationContext);
            layout.SetGravity(GravityFlags.Top);
            layout.SetVerticalGravity(GravityFlags.Top);
            layout.Orientation = Orientation.Vertical;
            layout.SetPadding(5, 5, 5, 5);
            LinearLayout.LayoutParams linearLayoutParams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.FillParent, LinearLayout.LayoutParams.FillParent);
            layout.LayoutParameters = linearLayoutParams;

            // create text element
            TextView tv = new TextView(ApplicationContext);
            //LinearLayout.LayoutParams linearLayoutParams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MatchParent, LinearLayout.LayoutParams.WrapContent);
            //vv.LayoutParameters = linearLayoutParams;
            tv.Gravity = GravityFlags.Top;
            tv.Text = day.ToString();

            if (e.AdjacentDay)
            {
                // format adjacent day text
                tv.SetTextColor(Android.Graphics.Color.DarkGray);
            }

            // add text element to layout
            layout.AddView(tv);


            // add weather image for certain days
            if (day >= 14 && day <= 23)
            {
                ImageView iv = new ImageView(ApplicationContext);
                switch (day % 5)
                {
                    case 0: iv.SetImageResource(Resource.Drawable.Cloudy);
                        break;
                    case 1: iv.SetImageResource(Resource.Drawable.PartlyCloudy);
                        break;
                    case 2: iv.SetImageResource(Resource.Drawable.Rain);
                        break;
                    case 3: iv.SetImageResource(Resource.Drawable.Storm);
                        break;
                    case 4: iv.SetImageResource(Resource.Drawable.Sun);
                        break;

                }
                layout.AddView(iv);
               
            }

            // finally, set layout to day slot
            e.DaySlot = layout;
        }
        private void CalendarDaySlotLoading(object sender, CalendarDaySlotLoadingEventArgs e)
        {
            var currentDateTime = FromUnixTime(e.Date.Time).ToLocalTime();

            Java.Util.Date     date = e.Date;
            Java.Util.Calendar cal  = Java.Util.Calendar.GetInstance(Java.Util.Locale.English);
            cal.Time = date;
            int day = cal.Get(Java.Util.CalendarField.DayOfMonth);

            CalendarDaySlotBase layout = new CalendarDaySlotBase(ApplicationContext);

            layout.SetGravity(GravityFlags.Center);
            layout.SetVerticalGravity(GravityFlags.Center);
            layout.Orientation = Orientation.Vertical;
            layout.SetPadding(5, 5, 5, 5);
            LinearLayout.LayoutParams linearLayoutParams = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MatchParent, ViewGroup.LayoutParams.MatchParent);
            layout.LayoutParameters = linearLayoutParams;

            TextView tv = new TextView(ApplicationContext);

            tv.Gravity = GravityFlags.Center;
            tv.Text    = day.ToString();

            if (currentDateTime.Date == DateTime.Now.Date)
            {
                tv.SetTextColor(Android.Graphics.Color.Red);
            }

            if (e.AdjacentDay)
            {
                tv.SetTextColor(Android.Graphics.Color.DarkGray);
            }

            layout.AddView(tv);

            if (_events != null && _events.Count != 0)
            {
                for (int i = 0; i < _events.Count; i++)
                {
                    var startDate = _events[i].StartDateTime();
                    if (startDate.Date == currentDateTime.Date)
                    {
                        tv.SetBackgroundColor(GROUP_COLOR);
                    }
                }
            }

            e.DaySlot = layout;
        }
Esempio n. 3
0
        private void OnDaySlotLoading(object sender, CalendarDaySlotLoadingEventArgs e)
        {
            // add weather image for certain days in the current month
            var today = DateTime.Today;

            if (e.Date.Year == today.Year &&
                e.Date.Month == today.Month &&
                e.Date.Day >= 14 && e.Date.Day <= 23)
            {
                var iv   = new UIImageView();
                var tv   = new UILabel();
                var slot = new UIStackView(new UIView[] { tv, iv });
                slot.Axis = InterfaceOrientation == UIInterfaceOrientation.Portrait || InterfaceOrientation == UIInterfaceOrientation.PortraitUpsideDown ? UILayoutConstraintAxis.Vertical : UILayoutConstraintAxis.Horizontal;

                tv.Text = e.Date.Day.ToString();

                UIImage image;
                switch (e.Date.Day % 5)
                {
                default:
                case 0:
                    image = UIImage.FromFile(@"Images/Cloudy.png");
                    break;

                case 1:
                    image = UIImage.FromFile(@"Images/PartlyCloudy.png");
                    break;

                case 2:
                    image = UIImage.FromFile(@"Images/Rain.png");
                    break;

                case 3:
                    image = UIImage.FromFile(@"Images/Storm.png");
                    break;

                case 4:
                    image = UIImage.FromFile(@"Images/Sun.png");
                    break;
                }
                image = image.ImageWithRenderingMode(UIImageRenderingMode.AlwaysTemplate);
                iv.UserInteractionEnabled = true;
                iv.TintColor   = UIColor.Black;
                iv.ContentMode = UIViewContentMode.ScaleAspectFit;
                iv.Image       = image;
                e.DaySlot      = slot;
            }
        }
Esempio n. 4
0
        private void OnDaySlotLoading(object sender, CalendarDaySlotLoadingEventArgs e)
        {
            // add weather image for certain days in the current month
            if (e.Date.Year == DateTime.Today.Year &&
                e.Date.Month == DateTime.Today.Month &&
                e.Date.Day >= 14 && e.Date.Day <= 23)
            {
                var slot = LayoutInflater.Inflate(Resource.Layout.DaySlot, null);
                var iv   = slot.FindViewById <ImageView>(Resource.Id.Image);
                var tv   = slot.FindViewById <TextView>(Resource.Id.Day);

                tv.Text = e.Date.Day.ToString();

                switch (e.Date.Day % 5)
                {
                case 0:
                    iv.SetImageResource(Resource.Drawable.Cloudy);
                    break;

                case 1:
                    iv.SetImageResource(Resource.Drawable.PartlyCloudy);
                    break;

                case 2:
                    iv.SetImageResource(Resource.Drawable.Rain);
                    break;

                case 3:
                    iv.SetImageResource(Resource.Drawable.Storm);
                    break;

                case 4:
                    iv.SetImageResource(Resource.Drawable.Sun);
                    break;
                }
                e.DaySlot = slot;
            }
        }
 public void OnDaySlotLoading(object sender, CalendarDaySlotLoadingEventArgs e)
 {
     if (!e.IsAdjacentDay)
     {
         if (WeatherForecast.ContainsKey(e.Date))
         {
             var daySlotWithImage = new CalendarImageDaySlot(e.Date);
             daySlotWithImage.DayText     = e.Date.Day + "";
             daySlotWithImage.DayFontSize = 8;
             //daySlotWithImage.ImageAspect = Aspect.Fill;
             //daySlotWithImage.ImageSource = UriImageSource.FromUri(WeatherForecast[e.Date]);
             daySlotWithImage.ImageSource = WeatherForecast[e.Date];
             e.DaySlot = daySlotWithImage;
         }
         else
         {
             e.DaySlot.BindingContext = new MyDataContext(e.Date);
         }
     }
     else
     {
         e.DaySlot.BindingContext = new MyDataContext(e.Date);
     }
 }
Esempio n. 6
0
        private void Calendar_DaySlotLoading(object sender, CalendarDaySlotLoadingEventArgs e)
        {
            // get day
            Java.Util.Date     date = e.Date;
            Java.Util.Calendar cal  = Java.Util.Calendar.GetInstance(Java.Util.Locale.English);
            cal.Time = date;
            int day = cal.Get(Java.Util.CalendarField.DayOfMonth);


            // create day slot layout container
            CalendarDaySlotBase layout = new CalendarDaySlotBase(ApplicationContext);

            layout.SetGravity(GravityFlags.Top);
            layout.SetVerticalGravity(GravityFlags.Top);
            layout.Orientation = Orientation.Vertical;
            layout.SetBackgroundColor(Android.Graphics.Color.White);
            layout.SetPadding(5, 5, 5, 5);
            LinearLayout.LayoutParams linearLayoutParams1 = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.FillParent, LinearLayout.LayoutParams.FillParent);
            layout.LayoutParameters = linearLayoutParams1;

            // create text element
            TextView tv = new TextView(ApplicationContext);

            LinearLayout.LayoutParams linearLayoutParams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MatchParent, LinearLayout.LayoutParams.WrapContent);
            tv.LayoutParameters = linearLayoutParams;
            tv.Gravity          = GravityFlags.Center;      //текст цифр
            tv.Text             = day.ToString();
            tv.SetTextColor(Android.Graphics.Color.Black);


            if (e.AdjacentDay)
            {
                // format adjacent day text
                tv.SetTextColor(Android.Graphics.Color.Gray);                 //цвет неактивных дней
            }

            // add text element to layout
            layout.AddView(tv);

            String Year     = e.Date.ToString().Split(' ')[5];
            String Month    = e.Date.ToString().Split(' ')[1];
            string intMonth = "0";

            // add weather image for certain days
            for (int i = 0; i < records.Count; i++)
            {
                if (records[i].Year == Year)
                {
                    switch (Month)
                    {
                    case "Jan":
                        intMonth = "1";
                        break;

                    case "Feb":
                        intMonth = "2";
                        break;

                    case "Mar":
                        intMonth = "3";
                        break;

                    case "Apr":
                        intMonth = "4";
                        break;

                    case "May":
                        intMonth = "5";
                        break;

                    case "Jun":
                        intMonth = "6";
                        break;

                    case "Jul":
                        intMonth = "7";
                        break;

                    case "Aug":
                        intMonth = "8";
                        break;

                    case "Sep":
                        intMonth = "9";
                        break;

                    case "Okt":
                        intMonth = "10";
                        break;

                    case "Now":
                        intMonth = "11";
                        break;

                    case "Dec":
                        intMonth = "12";
                        break;

                    default:
                        break;
                    }

                    if (records[i].Month == intMonth && day.ToString() == records[i].Day)
                    {
                        layout.SetBackgroundColor(Android.Graphics.Color.LightBlue);
                    }
                }
            }

            // finally, set layout to day slot
            e.DaySlot = layout;
        }
        private void Calendar_DaySlotLoading(object sender, CalendarDaySlotLoadingEventArgs e)
        {
            // get day
            Java.Util.Date     date = e.Date;
            Java.Util.Calendar cal  = Java.Util.Calendar.GetInstance(Java.Util.Locale.English);
            cal.Time = date;
            int day = cal.Get(Java.Util.CalendarField.DayOfMonth);

            // create day slot layout container
            CalendarDaySlotBase layout = new CalendarDaySlotBase(ApplicationContext);

            layout.SetGravity(GravityFlags.Top);
            layout.SetVerticalGravity(GravityFlags.Top);
            layout.Orientation = Orientation.Vertical;
            layout.SetPadding(5, 5, 5, 5);
            LinearLayout.LayoutParams linearLayoutParams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.FillParent, LinearLayout.LayoutParams.FillParent);
            layout.LayoutParameters = linearLayoutParams;

            // create text element
            TextView tv = new TextView(ApplicationContext);

            //LinearLayout.LayoutParams linearLayoutParams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MatchParent, LinearLayout.LayoutParams.WrapContent);
            //vv.LayoutParameters = linearLayoutParams;
            tv.Gravity = GravityFlags.Top;
            tv.Text    = day.ToString();

            if (e.AdjacentDay)
            {
                // format adjacent day text
                tv.SetTextColor(Android.Graphics.Color.DarkGray);
            }

            // add text element to layout
            layout.AddView(tv);


            // add weather image for certain days
            if (day >= 14 && day <= 23)
            {
                ImageView iv = new ImageView(ApplicationContext);
                switch (day % 5)
                {
                case 0: iv.SetImageResource(Resource.Drawable.Cloudy);
                    break;

                case 1: iv.SetImageResource(Resource.Drawable.PartlyCloudy);
                    break;

                case 2: iv.SetImageResource(Resource.Drawable.Rain);
                    break;

                case 3: iv.SetImageResource(Resource.Drawable.Storm);
                    break;

                case 4: iv.SetImageResource(Resource.Drawable.Sun);
                    break;
                }
                layout.AddView(iv);
            }

            // finally, set layout to day slot
            e.DaySlot = layout;
        }