protected virtual void ShowTabLayout( Type view, MvxTabLayoutPresentationAttribute attribute, MvxViewModelRequest request) { ShowViewPagerFragment(view, attribute, request); var viewPager = CurrentActivity.FindViewById <ViewPager>(attribute.ViewPagerResourceId); var tabLayout = CurrentActivity.FindViewById <TabLayout>(attribute.TabLayoutResourceId); if (viewPager != null && tabLayout != null) { tabLayout.SetupWithViewPager(viewPager); } else { throw new MvxException("ViewPager or TabLayout not found"); } }
protected virtual async Task <bool> ShowTabLayout( Type view, MvxTabLayoutPresentationAttribute attribute, MvxViewModelRequest request) { ValidateArguments(view, attribute, request); var showViewPagerFragment = await ShowViewPagerFragment(view, attribute, request).ConfigureAwait(true); if (!showViewPagerFragment) { return(false); } ViewPager?viewPager = null; TabLayout?tabLayout = null; // check for a ViewPager inside a Fragment if (attribute.FragmentHostViewType != null) { var fragment = GetFragmentByViewType(attribute.FragmentHostViewType); viewPager = fragment?.View.FindViewById <ViewPager>(attribute.ViewPagerResourceId); tabLayout = fragment?.View.FindViewById <TabLayout>(attribute.TabLayoutResourceId); } // check for a ViewPager inside an Activity if (CurrentActivity.IsActivityAlive() && attribute?.ActivityHostViewModelType != null) { viewPager = CurrentActivity?.FindViewById <ViewPager>(attribute.ViewPagerResourceId); tabLayout = CurrentActivity?.FindViewById <TabLayout>(attribute.TabLayoutResourceId); } if (viewPager == null || tabLayout == null) { throw new MvxException("ViewPager or TabLayout not found"); } tabLayout.SetupWithViewPager(viewPager); return(true); }
protected virtual async Task <bool> ShowTabLayout( Type view, MvxTabLayoutPresentationAttribute attribute, MvxViewModelRequest request) { if (!await ShowViewPagerFragment(view, attribute, request)) { return(false); } ViewPager viewPager = null; TabLayout tabLayout = null; // check for a ViewPager inside a Fragment if (attribute.FragmentHostViewType != null) { var fragment = GetFragmentByViewType(attribute.FragmentHostViewType); viewPager = fragment.View.FindViewById <ViewPager>(attribute.ViewPagerResourceId); tabLayout = fragment.View.FindViewById <TabLayout>(attribute.TabLayoutResourceId); } // check for a ViewPager inside an Activity if (attribute.ActivityHostViewModelType != null) { viewPager = CurrentActivity.FindViewById <ViewPager>(attribute.ViewPagerResourceId); tabLayout = CurrentActivity.FindViewById <TabLayout>(attribute.TabLayoutResourceId); } if (viewPager != null && tabLayout != null) { tabLayout.SetupWithViewPager(viewPager); return(true); } throw new MvxException("ViewPager or TabLayout not found"); }