Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- slidePageTabsMainFragment = new SlidePageTabsMainFragment();
- this.replaceFragment(slidePageTabsMainFragment, true);
- }
- @Override
- public void replaceFragment(BaseFragment fragment, Boolean isAddToBackStack) {
- String backStateName = fragment.getClass().getName();
- FragmentManager manager = getFragmentManager();
- FragmentTransaction transaction = manager.beginTransaction();
- transaction.replace(R.id.main_fragment_container, fragment, fragment.toString());
- transaction.addToBackStack(backStateName);
- transaction.commit();
- }
- @Override
- public int getTabLayoutLocation() {
- SlidePageTabsMainFragment slidePageTabsMainFragment = (SlidePageTabsMainFragment) getFragmentManager().findFragmentByTag("SlidePageTabsMainFragment");
- return slidePageTabsMainFragment.getTabLayoutLocation();
- }}
- FragmentChangeListener
- public interface FragmentChangeListener {
- void replaceFragment(BaseFragment fragment, Boolean isAddToBackStack);}
- public interface TabLayoutLocationInterface {
- int getTabLayoutLocation();}
- public class SlidePageTabsMainFragment extends BaseFragment {
- private View mainView;
- private TabLayout mTabs;
- private ViewPager mPage;
- private FragmentActivity myContext;
- private CoordinatorLayout coordinatorLayout;
- @Override
- public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
- mainView = inflater.inflate(R.layout.slide_page_tabs_main_fragment, container, false);
- mTabs = (TabLayout) mainView.findViewById(R.id.tab_layout);
- mPage = (ViewPager) mainView.findViewById(R.id.view_pager);
- coordinatorLayout = (CoordinatorLayout) mainView.findViewById(R.id.coordinator_layout_id);
- //mTabs.setupWithViewPager(mPage);
- SetUpViewPager();
- getTabLayoutLocation();
- return mainView;
- }
- @Override
- public void onAttach(Context context) {
- super.onAttach(context);
- if (context instanceof Activity) {
- myContext = (FragmentActivity) context;
- }
- }
- @Override
- public String toString() {
- return "SlidePageTabsMainFragment";
- }
- public void SetUpViewPager() {
- //Add tabs icon with setIcon() or simple text with .setText()
- mTabs.addTab(mTabs.newTab().setIcon(R.drawable.supportop_icon));
- mTabs.addTab(mTabs.newTab().setIcon(R.drawable.repair_icon));
- mTabs.addTab(mTabs.newTab().setIcon(R.drawable.transport_icon));
- mTabs.addTab(mTabs.newTab().setIcon(R.drawable.security_icon));
- //Add fragments
- SlidePageTabsAdapter adapter = new SlidePageTabsAdapter(myContext.getSupportFragmentManager());
- adapter.addFragment(new SupportopFragment());
- adapter.addFragment(new StatusFragment());
- adapter.addFragment(new ConnectionsFragment());
- adapter.addFragment(new SupportersFragment());
- //Setting adapter
- mPage.setAdapter(adapter);
- mPage.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(mTabs));
- mTabs.addOnTabSelectedListener(new TabLayout.ViewPagerOnTabSelectedListener(mPage));
- }
- public int getTabLayoutLocation() {
- int[] location = new int[2];
- coordinatorLayout.getLocationOnScreen(location);
- int coordinatorLayoutYposition = location[1];
- return coordinatorLayoutYposition;
- }}
- public class SlidePageTabsAdapter extends FragmentPagerAdapter {
- private final List<Fragment> mFragments = new ArrayList<>();
- public SlidePageTabsAdapter(FragmentManager fm) {
- super(fm);
- }
- public void addFragment(Fragment fragment) {
- mFragments.add(fragment);}
- @Override
- public Fragment getItem(int position) {
- return mFragments.get(position);
- }
- @Override
- public int getCount() {
- return 4;
- }}
- public class BaseFragment extends Fragment {
- protected Context context;
- FragmentChangeListener fragmentChangeListener;
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- this.context=getActivity();
- fragmentChangeListener = (FragmentChangeListener) getActivity();
- }}
- SlidePageTabsAdapter adapter = new SlidePageTabsAdapter(myContext.getSupportFragmentManager());
- adapter.addFragment(new SupportopFragment());
- adapter.addFragment(new StatusFragment());
- adapter.addFragment(new ConnectionsFragment());
- adapter.addFragment(new SupportersFragment());
Add Comment
Please, Sign In to add comment