/// <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); }
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; }
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; }
/// <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(); }