private void PopulateTabStrip()
        {
            PagerAdapter adapter = mViewPager.Adapter;

            for (int i = 0; i < adapter.Count; i++)
            {
                TextView tabView = CreateDefaultTabView(Context);
                if (adapter.Count == 2)
                {
                    tabView.Text = ((ViewBookingsFragment.ViewBookingsAdapter)adapter).GetHeaderTitle(i);
                }
                else
                {
                    tabView.Text = ((ProfileAdapter)adapter).GetHeaderTitle(i);
                }
                tabView.SetTextColor(new Color(0xFF, 0xFF, 0xFF, 0x73));                 //tab text colour

                tabView.Tag    = i;
                tabView.Click += tabView_Click;

                if (adapter.Count > 3)
                {
                    tabView.SetWidth((tabView.Text.Length + 1) * 35);
                }
                else
                {
                    tabView.SetWidth(Resources.DisplayMetrics.WidthPixels / adapter.Count);                      //width of tabs
                }

                mTabStrip.AddView(tabView);
            }
        }
        private void PopulateTabStrip()
        {
            PagerAdapter     adapter          = mViewPager.Adapter;
            IOnClickListener tabClickListener = new TabClickListener(this);

            for (int i = 0; i < adapter.Count; i++)
            {
                View     tabView      = null;
                TextView tabTitleView = null;

                if (mTabViewLayoutId != 0)
                {
                    tabView      = LayoutInflater.From(Context).Inflate(mTabViewLayoutId, mTabStrip, false);
                    tabTitleView = tabView.FindViewById <TextView>(mTabViewTextViewId);
                }

                if (tabView == null)
                {
                    tabView = CreateDefaultTabView(Context);
                }

                if (tabTitleView == null && tabView is TextView)
                {
                    tabTitleView = (TextView)tabView;
                }

                tabTitleView.Text = adapter.GetPageTitle(i);
                tabView.SetOnClickListener(tabClickListener);

                mTabTitleViews.Add(i, tabTitleView);
                mTabStrip.AddView(tabView);
            }
        }
            public override void OnChanged()
            {
                PagerAdapter adapter = outerInstance.mPager.Adapter;
                int          count   = 0;

                if (adapter is InfinitePagerAdapter)
                {
                    count = ((InfinitePagerAdapter)adapter).RealCount;
                }
                else
                {
                    count = adapter.Count;
                }
                if (count > outerInstance.mItemCount)
                {
                    for (int i = 0; i < count - outerInstance.mItemCount; i++)
                    {
                        ImageView indicator = new ImageView(outerInstance.mContext);
                        indicator.SetImageDrawable(outerInstance.mUnselectedDrawable);
                        indicator.SetPadding((int)outerInstance.mUnSelectedPadding_Left, (int)outerInstance.mUnSelectedPadding_Top, (int)outerInstance.mUnSelectedPadding_Right, (int)outerInstance.mUnSelectedPadding_Bottom);
                        outerInstance.AddView(indicator);
                        outerInstance.mIndicators.Add(indicator);
                    }
                }
                else if (count < outerInstance.mItemCount)
                {
                    for (int i = 0; i < outerInstance.mItemCount - count; i++)
                    {
                        outerInstance.RemoveView(outerInstance.mIndicators[0]);
                        outerInstance.mIndicators.RemoveAt(0);
                    }
                }
                outerInstance.mItemCount         = count;
                outerInstance.mPager.CurrentItem = outerInstance.mItemCount * 20 + outerInstance.mPager.CurrentItem;
            }
Example #4
0
        /// <summary>
        /// scroll only once
        /// </summary>
        public void scrollOnce()
        {
            PagerAdapter adapter     = Adapter;
            int          currentItem = CurrentItem;
            int          totalCount;

            if (adapter == null || (totalCount = adapter.Count) <= 1)
            {
                return;
            }

            int nextItem = (Direction == LEFT) ? --currentItem : ++currentItem;

            if (nextItem < 0)
            {
                if (IsCycle)
                {
                    SetCurrentItem(totalCount - 1, IsBorderAnimation);
                }
            }
            else if (nextItem == totalCount)
            {
                if (IsCycle)
                {
                    SetCurrentItem(0, IsBorderAnimation);
                }
            }
            else
            {
                SetCurrentItem(nextItem, true);
            }
        }
Example #5
0
        public void invalidateBullets()
        {
            PagerAdapter adapter = viewPager.Adapter;

            if (null != adapter)
            {
                InvalidateBullets(adapter);
            }
        }
        /// <summary>
        /// Overrides the base method to use <see cref="IconTabProviderCallback"/> if it is not null.
        ///
        /// If it is null, or if the callback returns null, then the default implementation will be
        /// used, which simply returns a new default instance of the <see cref="IconTabProvider"/>.
        /// </summary>
        /// <param name="context">The context.</param>
        /// <param name="adapter">The adapter.</param>
        /// <returns></returns>
        public override ITabProvider CreateIconTabProvider(Context context, PagerAdapter adapter)
        {
            ITabProvider toReturn = null;

            if (_iconTabProviderCallback != null)
            {
                toReturn = _iconTabProviderCallback(context, adapter);
            }
            return(toReturn ?? base.CreateIconTabProvider(context, adapter));
        }
 protected override void OnCreate(Bundle savedInstanceState)
 {
     base.OnCreate(savedInstanceState);
     SetContentView(Resource.Layout.Browser);
     var param = Nav.GetAndRemoveParameter(Intent) ?? "GalleryInfo";
     Vm.Activate(param);
     adapter = new BrowserAdapter(Vm.Images, SupportFragmentManager);
     BrowserPager.Adapter = adapter;
     BrowserPager.SetCurrentItem(Vm.FlipViewIndex, false);
 }
Example #8
0
        protected override void OnCreate(Bundle bundle)
        {
            base.OnCreate(bundle);

            SetContentView(Resource.Layout.activity_screen_slide);

            _viewPager               = FindViewById(Resource.Id.pager).JavaCast <ViewPager>();
            _pagerAdapter            = new ScreenSlidePagerAdapter(SupportFragmentManager);
            _viewPager.Adapter       = _pagerAdapter;
            _viewPager.PageSelected += (sender, args) => InvalidateOptionsMenu();
        }
Example #9
0
        private void SetItemText(int index)
        {
            PagerAdapter adapter = viewPager.Adapter;

            if (null != adapter)
            {
                int count = adapter.Count;
                textIndicator.Text = String.Format(Context
                                                   .GetString(Resource.String.pager_bullet_separator), index + 1, count);
            }
        }
Example #10
0
        protected override void OnCreate(Bundle bundle)
        {
            base.OnCreate(bundle);

            this.SetContentView(Resource.Layout.PagerActivity);

            pagerAdapter = new DemoPagerAdapter(this.FragmentManager);

            viewPager         = this.FindViewById <ViewPager>(Resource.Id.pager);
            viewPager.Adapter = pagerAdapter;
            this.SetPageTransformer();
        }
Example #11
0
        protected override void OnCreate(Bundle bundle)
        {
            base.OnCreate(bundle);

            this.SetContentView(Resource.Layout.PagerActivity);

            pagerAdapter = new DemoPagerAdapter(this.FragmentManager);

            viewPager = this.FindViewById<ViewPager>(Resource.Id.pager);
            viewPager.Adapter = pagerAdapter;
            this.SetPageTransformer ();
        }
Example #12
0
        public override bool DispatchTouchEvent(Android.Views.MotionEvent e)
        {
            int action = MotionEventCompat.GetActionMasked(e);

            if (StopScrollWhenTouch)
            {
                if ((action == (int)MotionEventActions.Down) && isAutoScroll)
                {
                    isStopByTouch = true;
                    StopAutoScroll();
                }
                else if (e.Action == MotionEventActions.Up && isStopByTouch)
                {
                    StartAutoScroll();
                }
            }

            if (SlideBorderMode == SLIDE_BORDER_MODE_TO_PARENT || SlideBorderMode == SLIDE_BORDER_MODE_CYCLE)
            {
                touchX = e.GetX();
                if (e.Action == MotionEventActions.Down)
                {
                    downX = touchX;
                }
                int          currentItem = CurrentItem;
                PagerAdapter adapter     = Adapter;
                int          pageCount   = adapter == null ? 0 : adapter.Count;
                //current index is first one and slide to right or current index is last one and slide to left.
                //if slide border mode is to parent, then requestDisallowInterceptTouchEvent false.
                //else scroll to last one when current item is first one, scroll to first one when current item is last one.
                if ((currentItem == 0 && downX <= touchX) || (currentItem == pageCount - 1 && downX >= touchX))
                {
                    if (SlideBorderMode == SLIDE_BORDER_MODE_TO_PARENT)
                    {
                        Parent.RequestDisallowInterceptTouchEvent(false);
                    }
                    else
                    {
                        if (pageCount > 1)
                        {
                            SetCurrentItem(pageCount - currentItem - 1, IsBorderAnimation);
                        }
                        Parent.RequestDisallowInterceptTouchEvent(true);
                    }
                    return(base.DispatchTouchEvent(e));
                }
            }
            Parent.RequestDisallowInterceptTouchEvent(true);

            return(base.DispatchTouchEvent(e));
        }
Example #13
0
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);

            Window.AddFlags(WindowManagerFlags.DrawsSystemBarBackgrounds);

            SetContentView(Resource.Layout.Browser);
            var param = Nav.GetAndRemoveParameter(Intent) ?? "GalleryInfo";

            Vm.Activate(param);
            adapter = new BrowserAdapter(Vm.Images, SupportFragmentManager);
            BrowserPager.Adapter = adapter;
            BrowserPager.SetCurrentItem(Vm.FlipViewIndex, false);
        }
Example #14
0
        //Adapte la page selon le nombre d'onglet (adapter.Count)
        private void PopulateTabStrip()
        {
            PagerAdapter adapter = mViewPager.Adapter;

            for (int i = 0; i < adapter.Count; i++)
            {
                TextView tabView = CreateDefaultTabView(Context);
                tabView.Text = ((SlidingTabsFragment.SamplePagerAdapter)adapter).GetHeaderTitle(i);
                tabView.SetTextColor(Android.Graphics.Color.Rgb(148, 205, 97));
                tabView.Tag    = i; //Cela nous permettra de retrouver une position
                tabView.Click += tabView_Click;
                mTabStrip.AddView(tabView);
            }
        }
Example #15
0
        public void InvalidateBullets(PagerAdapter adapter)
        {
            bool hasSeparator = HasSeparator();

            textIndicator.Visibility   = hasSeparator ? ViewStates.Visible : ViewStates.Invisible;
            layoutIndicator.Visibility = hasSeparator ? ViewStates.Invisible : ViewStates.Visible;

            if (!hasSeparator)
            {
                InitIndicator(adapter.Count);
            }

            SetIndicatorItem(viewPager.CurrentItem);
        }
        private void PopulateTabStrip()
        {
            PagerAdapter adapter = viewPager.Adapter;

            for (int i = 0; i < adapter.Count; i++)
            {
                TextView tabView = CreateDefaultTabView(Context);
                tabView.Text = ((IPagerWithTitleAdapter)adapter).GetTabTitle(i);
                tabView.SetTextColor(Color.White);
                tabView.Tag    = i;
                tabView.Click += tabView_Click;
                tabStrip.AddView(tabView);
            }
        }
        private void PopulateTabStrip()
        {
            PagerAdapter adapter = mViewPager.Adapter;

            for (int i = 0; i < adapter.Count; i++)
            {
                TextView tabView = CreateDefaultTabView(Context);
                tabView.Text = ((SlidingTabsFragment.SamplePagerAdapter)adapter).GetHeaderTitle(i);
                tabView.SetTextColor(Android.Graphics.Color.Black);
                tabView.Tag    = i;
                tabView.Click += tabView_Click;
                mTabStrip.AddView(tabView);
            }
        }
Example #18
0
        private void PopulateTabStrip()
        {
            PagerAdapter adapter = mViewPager.Adapter;

            for (int i = 0; i < adapter.Count; i++)
            {
                TextView tabView = CreateDefaultTabView(Context);
                tabView.Text = ((FragmentPagerAdapter)adapter).GetItem(i).ToString();
                tabView.SetTextColor(Android.Graphics.Color.Black);
                tabView.Tag    = i;
                tabView.Click += tabView_Click;
                mTabStrip.AddView(tabView);
            }
        }
Example #19
0
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);
            SetContentView(Resource.Layout.activityIntro);

            _pager = FindViewById <ViewPager>(Resource.Id.activityIntro_pager);
            _nav   = FindViewById <BottomNavigationView>(Resource.Id.activityIntro_nav);

            _nav.NavigationItemSelected += OnNavigationItemSelected;
            _pager.PageSelected         += OnPageSelected;

            _adapter       = new IntroPagerAdapter(SupportFragmentManager);
            _pager.Adapter = _adapter;
            OnPageSelected();
        }
Example #20
0
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);
            SetContentView(Resource.Layout.activityIntro);

            _pageCount = Resources.GetStringArray(Resource.Array.introTitle).Length;

            _pager = FindViewById <ViewPager>(Resource.Id.viewPager);
            _nav   = FindViewById <BottomNavigationView>(Resource.Id.navigationView);

            _nav.NavigationItemSelected += OnNavigationItemSelected;
            _pager.PageSelected         += OnPageSelected;

            _adapter       = new IntroPagerAdapter(SupportFragmentManager, _pageCount);
            _pager.Adapter = _adapter;

            OnPageSelected();
        }
Example #21
0
        private void PopulateTabStrip()
        {
            PagerAdapter adapter = mViewPager.Adapter;

            for (int i = 0; i < adapter.Count; i++)
            {
                TextView tabView = CreateDefaultTabView(Context);
                float    scale   = Context.Resources.DisplayMetrics.Density;
                int      pixels  = (int)(137 * scale + 0.5f);
                tabView.SetWidth(pixels);
                tabView.Text = ((MainPagerAdapter)adapter).GetHeaderTitle(i);
                tabView.SetTextColor(Android.Graphics.Color.White);
                tabView.Tag      = i;
                tabView.TextSize = 15;
                tabView.Click   += tabView_Click;
                mTabStrip.AddView(tabView);
            }
        }
Example #22
0
        protected override void OnCreate(Bundle bundle)
        {
            base.OnCreate(bundle);

            SetContentView(Resource.Layout.Main);

            PagerAdapter pageAdapter = new PagerAdapter(SupportFragmentManager, this);
            var          pager       = FindViewById <global::Android.Support.V4.View.ViewPager>(Resource.Id.pager);

            pager.Adapter = pageAdapter;

            TabLayout tabLayout = FindViewById <TabLayout>(Resource.Id.tabLayout);

            tabLayout.SetupWithViewPager(pager);

            SupportActionBar.Show();

            GetCheckLogin();
        }
Example #23
0
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);

            sharedPreferences = PreferenceManager.GetDefaultSharedPreferences(this);

            if (!sharedPreferences.GetBoolean(Resources.GetString(Resource.String.pref_first_time_launch_key), true))
            {
                launchSplashScreen();
                Finish();
            }

            // Create the  page fragment here
            SetContentView(Resource.Layout.activity_auto_carousel);
            viewPager         = FindViewById <ViewPager> (Resource.Id.view_pager);
            pagerAdapter      = new ScreenSlidePageAdapter(SupportFragmentManager);
            viewPager.Adapter = pagerAdapter;

            viewPager.AddOnPageChangeListener(this);

            dotsLayout = FindViewById <LinearLayout> (Resource.Id.layoutDots);
            btnSkip    = FindViewById <Button> (Resource.Id.btn_skip);
            btnNext    = FindViewById <Button> (Resource.Id.btn_next);

            MakeNotificationBarDisappear();

            AddButtomDots(0);

            btnNext.Click += delegate {
                var current = viewPager.CurrentItem + 1;
                if (current < NUM)
                {
                    viewPager.CurrentItem = current;
                }
                else
                {
                    launchSplashScreen();
                }
            };

            btnSkip.Click += delegate { launchSplashScreen(); };
        }
        private void PopulateTabStrip()
        {
            PagerAdapter adapter = mViewPager.Adapter;

            for (int i = 0; i < adapter.Count; i++)
            {
                var      a       = Resources.DisplayMetrics.WidthPixels;
                TextView tabView = CreateDefaultTabView(Context);
                tabView.Text = ((FragmentPagerAdapter)adapter).GetItem(i).ToString();
                tabView.SetTextColor(Android.Graphics.Color.White);
                tabView.Tag = i;

                tabView.Click += tabView_Click;
                tabView.SetWidth(a / 3);
                mTabStrip.AddView(tabView);


                //-----------------------------------
            }
        }
Example #25
0
        public View FindViewFromObject(int position)
        {
            Java.Lang.Object o = null;
            mObjs.TryGetValue(position, out o);
            if (o == null)
            {
                return(null);
            }

            PagerAdapter a = Adapter;
            View         v = null;

            for (int i = 0; i < ChildCount; i++)
            {
                v = GetChildAt(i);
                if (a.IsViewFromObject(v, o))
                {
                    return(v);
                }
            }
            return(null);
        }
        void PopulateTabStrip()
        {
            PagerAdapter adapter = _viewPager.Adapter;

            View.IOnClickListener tabClickListener = new TabClickListener();

            for (int i = 0; i < adapter.Count; i++)
            {
                View     tabView      = null;
                TextView tabTitleView = null;

                if (_tabViewLayoutId != 0)
                {
                    // If there is a custom tab view layout id set, try and inflate it
                    tabView = LayoutInflater.From(Context).Inflate(_tabViewLayoutId, _tabStrip,
                                                                   false);
                    tabTitleView = (TextView)tabView.FindViewById(_tabViewTextViewId);
                }

                if (tabView == null)
                {
                    tabView = CreateDefaultTabView(Context);
                }
                if (tabTitleView == null && tabView is TextView)
                {
                    tabTitleView = (TextView)tabView;
                }

                tabTitleView.Text = adapter.GetPageTitle(i);
                tabView.SetOnClickListener(tabClickListener);

                // Used to get a reference to each tab's TextView in order to
                // update the text in setTabText().
                _tabTitleViews.Put(i, tabTitleView);

                _tabStrip.AddView(tabView);
            }
        }
Example #27
0
        private void PopulateTabStrip()
        {
            PagerAdapter adapter = mViewPager.Adapter;
            string       tipo    = adapter.GetType().ToString();

            for (int i = 0; i < adapter.Count; i++)
            {
                TextView tabView = CreateDefaultTabView(Context);
                if (tipo.Contains("ListadoMonitorizacion"))
                {
                    tabView.Text = ((ListadoMonitorizacion.SamplePagerAdapter)adapter).GetHeaderTitle(i);
                }
                else if (tipo.Contains("SlidingTabsFragment"))
                {
                    tabView.Text = ((SlidingTabsFragment.SamplePagerAdapter)adapter).GetHeaderTitle(i);
                }

                tabView.SetTextColor(Android.Graphics.Color.Black);
                tabView.Tag    = i;
                tabView.Click += tabView_Click;
                mTabStrip.AddView(tabView);
            }
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="TextTabProvider"/> class.
 /// </summary>
 /// <param name="context">The context.</param>
 /// <param name="adapter">The adapter.</param>
 /// <param name="textTabResourceID">The ID of the layout resource to be used to inflate the text view.
 /// If not supplied or equal to null, then the built in resource pagerslidingtabstrip_texttab will be used.</param>
 public TextTabProvider(Context context, PagerAdapter adapter, int?textTabResourceID = null)
 {
     _context           = context;
     _adapter           = adapter;
     _textTabResourceID = textTabResourceID ?? Resource.Layout.pagerslidingtabstrip_texttab;
 }
 public InfinitePagerAdapter(PagerAdapter pagerAdapter)
 {
     _pagerAdapter = pagerAdapter;
 }
		/// <summary>
		/// Sets the view pager for this instance.
		/// </summary>
		/// <param name="pager">The pager.</param>
		/// <param name="tabProviderFactory">The factory to use to select the correct tab provider for the given
		/// pager, and equally as a factory for more complex tab providers to delegate to if they want to reuse
		/// .  This also then is set on the .</param>
		/// <exception cref="System.ArgumentException">ViewPager does not have adapter instance.;pager</exception>
		public void SetViewPager(ViewPager pager, TabProviderFactory tabProviderFactory = null)
		{
			if (pager == null)
				return;
			if (pager.Adapter == null)
			{
				throw new ArgumentException("ViewPager does not have adapter instance.", "pager");
			}

			//the property returns the default factory if set to null here.
			_tabProviderFactory = tabProviderFactory;

			//changes made here to be more tolerant of being set to the same pager or to a pager with
			//the same adapter, or to the same pager with a different adapter.
			if (_pager != pager)
			{
				if (_pager != null)
				{
					pager.PageScrolled -= pager_PageScrolled;
					pager.PageScrollStateChanged -= pager_PageScrollStateChanged;
					pager.PageSelected -= pager_PageSelected;
				}
				this._pager = pager;
				pager.PageScrolled += pager_PageScrolled;
				pager.PageScrollStateChanged += pager_PageScrollStateChanged;
				pager.PageSelected += pager_PageSelected;
			}

			if (_adapter != pager.Adapter)
			{
				if (_adapter != null && _observer != null)
				{
					_adapter.UnregisterDataSetObserver(_observer);
				}

				_adapter = pager.Adapter;
				_tabProviderFactory = tabProviderFactory;
				//re-create the Lazys for the default text and tab providers
				_textTabProvider = new Lazy<ITabProvider>(() => TabProviderFactory.CreateTextTabProvider(Context, _adapter));
				_iconTabProvider = new Lazy<ITabProvider>(() => TabProviderFactory.CreateIconTabProvider(Context, _adapter));
				//avoid recycling any previous views, because we've changed adapters.
				_tabsContainer.RemoveAllViews();

				var newProvider = TabProviderFactory.CreateTabProvider(Context, _adapter);
				if (newProvider != _tabProvider && _tabProvider != null)
				{
					//good housekeeping
					_tabProvider.TabUpdated -= _tabProvider_TabUpdated;
					_tabProvider.TabUpdateRequired -= _tabProvider_TabUpdateRequired;
				}

				_tabProvider = newProvider;
				_tabProvider.TabUpdated += _tabProvider_TabUpdated;
				_tabProvider.TabUpdateRequired += _tabProvider_TabUpdateRequired;

				if (_observer == null)
					_observer = new PagerAdapterDataSetObserver(this);

				_adapter.RegisterDataSetObserver(_observer);
			}


			NotifyDataSetChanged();
		}
Example #31
0
 public virtual ITabProvider CreateTextTabProvider(Context context, PagerAdapter adapter)
 {
     return new TextTabProvider(context, adapter);
 }
Example #32
0
 /// <summary>
 /// Initializes a new instance of the <see cref="TextTabProvider"/> class.
 /// </summary>
 /// <param name="context">The context.</param>
 /// <param name="adapter">The adapter.</param>
 public IconTabProvider(Context context, PagerAdapter adapter)
 {
     _context = context;
     _adapter = adapter;
 }
        /// <summary>
        /// Sets the view pager for this instance, from this the control inherits the PagerAdapter and then
        /// derives the <see cref="ITabProvider"/> - unless you also pass a custom <see cref="TabProviderFactory"/>
        /// in the <paramref name="tabProviderFactory"/> .
        /// </summary>
        /// <param name="pager">The pager.</param>
        /// <param name="tabProviderFactory">The factory to use to select the correct tab provider for the given
        /// pager, and equally as a factory for more complex tab providers to delegate to if they want to reuse
        /// .  This also then is set on the .</param>
        /// <exception cref="System.ArgumentException">ViewPager does not have adapter instance.;pager</exception>
        public void SetViewPager(ViewPager pager, TabProviderFactory tabProviderFactory = null)
        {
            if (pager == null)
            {
                return;
            }
            if (pager.Adapter == null)
            {
                throw new ArgumentException("ViewPager does not have adapter instance.", "pager");
            }

            //the property returns the default factory if set to null here.
            _tabProviderFactory = tabProviderFactory;

            //changes made here to be more tolerant of being set to the same pager or to a pager with
            //the same adapter, or to the same pager with a different adapter.
            if (_pager != pager)
            {
                if (_pager != null)
                {
                    pager.PageScrolled           -= pager_PageScrolled;
                    pager.PageScrollStateChanged -= pager_PageScrollStateChanged;
                    pager.PageSelected           -= pager_PageSelected;
                }
                this._pager                   = pager;
                pager.PageScrolled           += pager_PageScrolled;
                pager.PageScrollStateChanged += pager_PageScrollStateChanged;
                pager.PageSelected           += pager_PageSelected;
            }

            if (_adapter != pager.Adapter)
            {
                if (_adapter != null && _observer != null)
                {
                    _adapter.UnregisterDataSetObserver(_observer);
                }

                _adapter            = pager.Adapter;
                _tabProviderFactory = tabProviderFactory;
                //re-create the Lazys for the default text and tab providers
                _textTabProvider = new Lazy <ITabProvider>(() => TabProviderFactory.CreateTextTabProvider(Context, _adapter));
                _iconTabProvider = new Lazy <ITabProvider>(() => TabProviderFactory.CreateIconTabProvider(Context, _adapter));
                //avoid recycling any previous views, because we've changed adapters.
                _tabsContainer.RemoveAllViews();

                var newProvider = TabProviderFactory.CreateTabProvider(Context, _adapter);
                if (newProvider != _tabProvider && _tabProvider != null)
                {
                    //good housekeeping
                    _tabProvider.TabUpdated        -= _tabProvider_TabUpdated;
                    _tabProvider.TabUpdateRequired -= _tabProvider_TabUpdateRequired;
                }

                _tabProvider                    = newProvider;
                _tabProvider.TabUpdated        += _tabProvider_TabUpdated;
                _tabProvider.TabUpdateRequired += _tabProvider_TabUpdateRequired;

                if (_observer == null)
                {
                    _observer = new PagerAdapterDataSetObserver(this);
                }

                _adapter.RegisterDataSetObserver(_observer);
            }


            NotifyDataSetChanged();
        }
Example #34
0
        public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Android.OS.Bundle savedInstanceState)
        {
            View view = inflater.Inflate(Resource.Layout.emojicons, container, false);
            ViewPager emojisPager = view.FindViewById<ViewPager>(Resource.Id.emojis_pager);
            emojisPager.PageSelected += OnPageSelected;
            AddRecentEmoji += OnAddRecentEmoji;
            // we handle recents
            IEmojiconRecents recents = this;
            List<EmojiconGridFragment> emojiFragments = new List<EmojiconGridFragment> () {
                EmojiconRecentsGridFragment.NewInstance (),
                EmojiconGridFragment.NewInstance (People.DATA, recents),
                EmojiconGridFragment.NewInstance (Nature.DATA, recents),
                EmojiconGridFragment.NewInstance (Objects.DATA, recents),
                EmojiconGridFragment.NewInstance (Places.DATA, recents),
                EmojiconGridFragment.NewInstance (Symbols.DATA, recents)
            };
            foreach (var fragment in emojiFragments)
            {
                fragment.EmojiClicked += (Emojicon e) =>
                {
                    if(EmojiClicked != null)
                    {
                        EmojiClicked(e);
                    }
                };
            }
            mEmojisAdapter = new EmojisPagerAdapter(FragmentManager, emojiFragments);
            emojisPager.Adapter = mEmojisAdapter;
            //ToDo: Solve Recents Issue
            mEmojiTabs = new View[6];
            mEmojiTabs[0] = view.FindViewById(Resource.Id.emojis_tab_0_recents);
            mEmojiTabs[1] = view.FindViewById(Resource.Id.emojis_tab_1_people);
            mEmojiTabs[2] = view.FindViewById(Resource.Id.emojis_tab_2_nature);
            mEmojiTabs[3] = view.FindViewById(Resource.Id.emojis_tab_3_objects);
            mEmojiTabs[4] = view.FindViewById(Resource.Id.emojis_tab_4_cars);
            mEmojiTabs[5] = view.FindViewById(Resource.Id.emojis_tab_5_punctuation);
            //			mEmojiTabs = new View[5];
            //			mEmojiTabs[0] = view.FindViewById(Resource.Id.emojis_tab_1_people);
            //			mEmojiTabs[1] = view.FindViewById(Resource.Id.emojis_tab_2_nature);
            //			mEmojiTabs[2] = view.FindViewById(Resource.Id.emojis_tab_3_objects);
            //			mEmojiTabs[3] = view.FindViewById(Resource.Id.emojis_tab_4_cars);
            //			mEmojiTabs[4] = view.FindViewById(Resource.Id.emojis_tab_5_punctuation);
            for (int i = 0; i < mEmojiTabs.Length; i++)
            {
                int position = i;
                mEmojiTabs[i].Click += (object sender, EventArgs e)
                =>{
                    emojisPager.CurrentItem = position;
                };
            }
            view.FindViewById(Resource.Id.emojis_backspace).Click += (object sender, EventArgs e) => {
                if(EmojiconBackspaceClicked != null)
                {
                    EmojiconBackspaceClicked((View)sender);
                }
            };

            // get last selected page
            EmojiconRecentsManager.Context = view.Context;
            int page = EmojiconRecentsManager.RecentPage;
            // last page was recents, check if there are recents to use
            // if none was found, go to page 1
            if (page == 0 && EmojiconRecentsManager.Count == 0) {
                page = 1;
            }
            if (page == 0) {
                OnPageSelected(null,new ViewPager.PageSelectedEventArgs(page));
            }
            else {
                emojisPager.SetCurrentItem(page, false);
            }
            return view;
        }
Example #35
0
        public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Android.OS.Bundle savedInstanceState)
        {
            View      view        = inflater.Inflate(Resource.Layout.emojicons, container, false);
            ViewPager emojisPager = view.FindViewById <ViewPager>(Resource.Id.emojis_pager);

            emojisPager.PageSelected += OnPageSelected;
            AddRecentEmoji           += OnAddRecentEmoji;
            // we handle recents
            IEmojiconRecents            recents        = this;
            List <EmojiconGridFragment> emojiFragments = new List <EmojiconGridFragment> ()
            {
                EmojiconRecentsGridFragment.NewInstance(),
                                        EmojiconGridFragment.NewInstance(People.DATA, recents),
                EmojiconGridFragment.NewInstance(Nature.DATA, recents),
                EmojiconGridFragment.NewInstance(Objects.DATA, recents),
                EmojiconGridFragment.NewInstance(Places.DATA, recents),
                EmojiconGridFragment.NewInstance(Symbols.DATA, recents)
            };

            foreach (var fragment in emojiFragments)
            {
                fragment.EmojiClicked += (Emojicon e) =>
                {
                    if (EmojiClicked != null)
                    {
                        EmojiClicked(e);
                    }
                };
            }
            mEmojisAdapter      = new EmojisPagerAdapter(FragmentManager, emojiFragments);
            emojisPager.Adapter = mEmojisAdapter;
            //ToDo: Solve Recents Issue
            mEmojiTabs    = new View[6];
            mEmojiTabs[0] = view.FindViewById(Resource.Id.emojis_tab_0_recents);
            mEmojiTabs[1] = view.FindViewById(Resource.Id.emojis_tab_1_people);
            mEmojiTabs[2] = view.FindViewById(Resource.Id.emojis_tab_2_nature);
            mEmojiTabs[3] = view.FindViewById(Resource.Id.emojis_tab_3_objects);
            mEmojiTabs[4] = view.FindViewById(Resource.Id.emojis_tab_4_cars);
            mEmojiTabs[5] = view.FindViewById(Resource.Id.emojis_tab_5_punctuation);
//			mEmojiTabs = new View[5];
//			mEmojiTabs[0] = view.FindViewById(Resource.Id.emojis_tab_1_people);
//			mEmojiTabs[1] = view.FindViewById(Resource.Id.emojis_tab_2_nature);
//			mEmojiTabs[2] = view.FindViewById(Resource.Id.emojis_tab_3_objects);
//			mEmojiTabs[3] = view.FindViewById(Resource.Id.emojis_tab_4_cars);
//			mEmojiTabs[4] = view.FindViewById(Resource.Id.emojis_tab_5_punctuation);
            for (int i = 0; i < mEmojiTabs.Length; i++)
            {
                int position = i;
                mEmojiTabs[i].Click += (object sender, EventArgs e)
                                       => {
                    emojisPager.CurrentItem = position;
                };
            }
            view.FindViewById(Resource.Id.emojis_backspace).Click += (object sender, EventArgs e) => {
                if (EmojiconBackspaceClicked != null)
                {
                    EmojiconBackspaceClicked((View)sender);
                }
            };

            // get last selected page
            EmojiconRecentsManager.Context = view.Context;
            int page = EmojiconRecentsManager.RecentPage;

            // last page was recents, check if there are recents to use
            // if none was found, go to page 1
            if (page == 0 && EmojiconRecentsManager.Count == 0)
            {
                page = 1;
            }
            if (page == 0)
            {
                OnPageSelected(null, new ViewPager.PageSelectedEventArgs(page));
            }
            else
            {
                emojisPager.SetCurrentItem(page, false);
            }
            return(view);
        }
		/// <summary>
		/// Initializes a new instance of the <see cref="TextTabProvider"/> class.
		/// </summary>
		/// <param name="context">The context.</param>
		/// <param name="adapter">The adapter.</param>
		/// <param name="textTabResourceID">The ID of the layout resource to be used to inflate the text view.
		/// If not supplied or equal to null, then the built in resource pagerslidingtabstrip_texttab will be used.</param>
		public TextTabProvider(Context context, PagerAdapter adapter, int? textTabResourceID = null)
		{
			_context = context;
			_adapter = adapter;
			_textTabResourceID = textTabResourceID ?? Resource.Layout.pagerslidingtabstrip_texttab;
		}
        protected override void OnCreate(Bundle savedInstanceState)
        {
            ZTnTrace.Trace(MethodBase.GetCurrentMethod());

            // Activity initialization
            base.OnCreate(savedInstanceState);

            SetContentView(Resource.Layout.SimpleViewPager);

            Title = D3Context.Instance.CurrentHeroSummary.Name;
            ActionBar.Subtitle = D3Context.Instance.BattleTag;

            // ViewPager initialization
            var fragments = new List<Fragment>();
            var titles = new List<string>();

            if (savedInstanceState == null)
            {
                fragmentFetchHero = new FetchHeroFragment();
            }
            else
            {
                fragmentFetchHero = (FetchHeroFragment)SupportFragmentManager.FindFragmentByTag("fetchHero");
            }

            fragments.Add(fragmentFetchHero.FragmentCharacteristics);
            titles.Add(Resources.GetString(Resource.String.details));

            fragments.Add(fragmentFetchHero.FragmentComputed);
            titles.Add(Resources.GetString(Resource.String.computed));

            fragments.Add(fragmentFetchHero.FragmentSkills);
            titles.Add(Resources.GetString(Resource.String.skills));

            fragments.Add(fragmentFetchHero.FragmentGear);
            titles.Add(Resources.GetString(Resource.String.gear));

            pagerAdapter = new BasicViewPagerAdapter(SupportFragmentManager, fragments, titles);

            var viewPager = FindViewById<ViewPager>(Resource.Id.Pager);
            viewPager.Adapter = pagerAdapter;

            // Fragment in charge of fetching hero initialization
            if (savedInstanceState == null)
            {
                SupportFragmentManager
                    .BeginTransaction()
                    .Add(fragmentFetchHero, "fetchHero")
                    .Commit();
            }
        }
		/// <summary>
		/// Overrides the base method to use <see cref="IconTabProviderCallback"/> if it is not null.
		/// 
		/// If it is null, or if the callback returns null, then the default implementation will be
		/// used, which simply returns a new default instance of the <see cref="IconTabProvider"/>.
		/// </summary>
		/// <param name="context">The context.</param>
		/// <param name="adapter">The adapter.</param>
		/// <returns></returns>
		public override ITabProvider CreateIconTabProvider(Context context, PagerAdapter adapter)
		{
			ITabProvider toReturn = null;
			if (_iconTabProviderCallback != null)
				toReturn = _iconTabProviderCallback(context, adapter);
			return toReturn ?? base.CreateIconTabProvider(context, adapter);
		}
		/// <summary>
		/// Initializes a new instance of the <see cref="TextTabProvider"/> class.
		/// </summary>
		/// <param name="context">The context.</param>
		/// <param name="adapter">The adapter.</param>
		public IconTabProvider(Context context, PagerAdapter adapter)
		{
			_context = context;
			_adapter = adapter;
		}