Exemplo n.º 1
0
        /// <summary>
        /// Setup 4 pages contain date grid views. These pages are recycled to use
        /// memory efficient.
        /// </summary>
        /// <param name="view">View.</param>
        private void SetupDateGridPages(View view)
        {
            var currentDateTime = new DateTime(_year, _month, 1);

            _datePageChangeListener = new DatePageChangeListener(this);
            _datePageChangeListener.CurrentDateTime = currentDateTime;

            var currentMonthGridAdapter = CreateCalendarGridAdapter(currentDateTime.Year, currentDateTime.Month);

            _daysInMonths = currentMonthGridAdapter.DateTimes;

            var nextMonthDateTime    = CalendarHelper.LastDateTimeOfNextMonth(currentDateTime);
            var nextMonthGridAdapter = CreateCalendarGridAdapter(nextMonthDateTime.Year, nextMonthDateTime.Month);

            var secondNextMonthDateTime    = CalendarHelper.LastDateTimeOfNextMonth(nextMonthDateTime);
            var secondNextMonthGridAdapter = CreateCalendarGridAdapter(secondNextMonthDateTime.Year, secondNextMonthDateTime.Month);

            var prevMonthDateTime    = CalendarHelper.LastDateTimeOfPreviousMonth(currentDateTime);
            var prevMonthGridAdapter = CreateCalendarGridAdapter(prevMonthDateTime.Year, prevMonthDateTime.Month);

            _calendarGridAdapters.Add(currentMonthGridAdapter);
            _calendarGridAdapters.Add(nextMonthGridAdapter);
            _calendarGridAdapters.Add(secondNextMonthGridAdapter);
            _calendarGridAdapters.Add(prevMonthGridAdapter);

            _datePageChangeListener.CalendarGridAdapters = _calendarGridAdapters;

            _infiniteDateViewPager                   = view.FindViewById <InfiniteViewPager>(Resource.Id.months_infinite_pager);
            _infiniteDateViewPager.IsEnabled         = _isSwipeEnabled;
            _infiniteDateViewPager.IsMaxWeekPerMonth = _isMaxWeekPerMonth;
            _infiniteDateViewPager.DaysInMonth       = _daysInMonths;

            var monthPagerAdapter = new MonthPagerAdapter(ChildFragmentManager);

            _dateGridFragments = monthPagerAdapter.DateGridFragmentList;

            for (var i = 0; i < NUMBER_OF_PAGES; i++)
            {
                var dateGridFragment    = _dateGridFragments[i];
                var calendarGridAdapter = _calendarGridAdapters[i];

                dateGridFragment.GridViewResource    = ResourceGridView();
                dateGridFragment.CalendarGridAdapter = calendarGridAdapter;

                dateGridFragment.OnItemClickEvent     += OnDateGridFragmentItemClicked;
                dateGridFragment.OnItemLongClickEvent += OnDateGridFragmentItemLongClicked;
            }

            var infinitePagerAdapter = new InfinitePagerAdapter(monthPagerAdapter);

            _infiniteDateViewPager.Adapter = infinitePagerAdapter;
            _infiniteDateViewPager.AddOnPageChangeListener(_datePageChangeListener);
        }
Exemplo n.º 2
0
        public SliderLayout(Context context, IAttributeSet attrs, int defStyle) : base(context, attrs, defStyle)
        {
            mh = new HandlerAnonymousInnerClassHelper(this);
            var _PresetIndicatorsToViewIdAccordance = new Dictionary <PresetIndicators, int>
            {
                { PresetIndicators.Center_Bottom, R.Id.default_center_bottom_indicator },
                { PresetIndicators.Right_Bottom, R.Id.default_bottom_right_indicator },
                { PresetIndicators.Left_Bottom, R.Id.default_bottom_left_indicator },
                { PresetIndicators.Center_Top, R.Id.default_center_top_indicator },
                { PresetIndicators.Right_Top, R.Id.default_center_top_right_indicator },
                { PresetIndicators.Left_Top, R.Id.default_center_top_left_indicator }
            };

            mContext = context;
            LayoutInflater.From(context).Inflate(R.Layout.slider_layout, this, true);

//JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final':
//ORIGINAL LINE: final android.content.res.TypedArray attributes = context.getTheme().obtainStyledAttributes(attrs,R.styleable.SliderLayout, defStyle,0);
            TypedArray attributes = context.Theme.ObtainStyledAttributes(attrs, R.Styleable.SliderLayout, defStyle, 0);

            mTransformerSpan = attributes.GetInteger(R.Styleable.SliderLayout_pager_animation_span, 1100);
            mTransformerId   = attributes.GetInt(R.Styleable.SliderLayout_pager_animation, Transformer.Default.Ordinal());
            mAutoCycle       = attributes.GetBoolean(R.Styleable.SliderLayout_auto_cycle, true);
            int visibility = attributes.GetInt(R.Styleable.SliderLayout_indicator_visibility, 0);

            foreach (IndicatorVisibility v in Enum.GetValues(typeof(IndicatorVisibility)))
            {
                if (v.Ordinal() == visibility)
                {
                    mIndicatorVisibility = v;
                    break;
                }
            }
            mSliderAdapter = new SliderAdapter(mContext);
            PagerAdapter wrappedAdapter = new InfinitePagerAdapter(mSliderAdapter);

            mViewPager         = FindViewById <InfiniteViewPager>(R.Id.daimajia_slider_viewpager);
            mViewPager.Adapter = wrappedAdapter;

            mViewPager.SetOnTouchListener(new OnTouchListenerAnonymousInnerClassHelper(this));

            attributes.Recycle();
            SetPresetIndicator(PresetIndicators.Center_Bottom);
            SetPresetTransformer(mTransformerId);
            setSliderTransformDuration(mTransformerSpan, null);
            IndicatorVisibility = mIndicatorVisibility;
            if (mAutoCycle)
            {
                startAutoCycle();
            }
        }
		public override void onCreate(Bundle savedInstanceState)
		{
			base.onCreate(savedInstanceState);
			ContentView = R.layout.main;

			PagerAdapter adapter = new FragmentPagerAdapterAnonymousInnerClassHelper(this, SupportFragmentManager);

			// wrap pager to provide infinite paging with wrap-around
			PagerAdapter wrappedAdapter = new InfinitePagerAdapter(adapter);

			// actually an InfiniteViewPager
			ViewPager viewPager = (ViewPager) findViewById(R.id.pager);
			viewPager.Adapter = wrappedAdapter;

		}
Exemplo n.º 4
0
        public override void onCreate(Bundle savedInstanceState)
        {
            base.onCreate(savedInstanceState);
            ContentView = R.layout.main;

            PagerAdapter adapter = new FragmentPagerAdapterAnonymousInnerClassHelper(this, SupportFragmentManager);

            // wrap pager to provide infinite paging with wrap-around
            PagerAdapter wrappedAdapter = new InfinitePagerAdapter(adapter);

            // actually an InfiniteViewPager
            ViewPager viewPager = (ViewPager)findViewById(R.id.pager);

            viewPager.Adapter = wrappedAdapter;
        }
Exemplo n.º 5
0
        /// <summary>
        /// clear self means unregister the dataset observer and remove all the child views(indicators).
        /// </summary>
        public virtual void destroySelf()
        {
            if (mPager == null || mPager.Adapter == null)
            {
                return;
            }
            InfinitePagerAdapter wrapper = (InfinitePagerAdapter)mPager.Adapter;
            var adapter = wrapper.RealAdapter as PagerAdapter;

            if (adapter != null)
            {
                adapter.UnregisterDataSetObserver(dataChangeObserver);
            }
            RemoveAllViews();
        }