Guest User

Untitled

a guest
Jan 24th, 2018
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.28 KB | None | 0 0
  1. @Override
  2. protected void onCreate(Bundle savedInstanceState) {
  3. super.onCreate(savedInstanceState);
  4. setContentView(R.layout.activity_main);
  5.  
  6. slidePageTabsMainFragment = new SlidePageTabsMainFragment();
  7. this.replaceFragment(slidePageTabsMainFragment, true);
  8. }
  9.  
  10. @Override
  11. public void replaceFragment(BaseFragment fragment, Boolean isAddToBackStack) {
  12. String backStateName = fragment.getClass().getName();
  13. FragmentManager manager = getFragmentManager();
  14.  
  15. FragmentTransaction transaction = manager.beginTransaction();
  16. transaction.replace(R.id.main_fragment_container, fragment, fragment.toString());
  17. transaction.addToBackStack(backStateName);
  18. transaction.commit();
  19. }
  20.  
  21. @Override
  22. public int getTabLayoutLocation() {
  23. SlidePageTabsMainFragment slidePageTabsMainFragment = (SlidePageTabsMainFragment) getFragmentManager().findFragmentByTag("SlidePageTabsMainFragment");
  24. return slidePageTabsMainFragment.getTabLayoutLocation();
  25. }}
  26.  
  27. FragmentChangeListener
  28.  
  29. public interface FragmentChangeListener {
  30. void replaceFragment(BaseFragment fragment, Boolean isAddToBackStack);}
  31.  
  32. public interface TabLayoutLocationInterface {
  33. int getTabLayoutLocation();}
  34.  
  35. public class SlidePageTabsMainFragment extends BaseFragment {
  36. private View mainView;
  37. private TabLayout mTabs;
  38. private ViewPager mPage;
  39. private FragmentActivity myContext;
  40. private CoordinatorLayout coordinatorLayout;
  41.  
  42.  
  43. @Override
  44. public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
  45. mainView = inflater.inflate(R.layout.slide_page_tabs_main_fragment, container, false);
  46.  
  47. mTabs = (TabLayout) mainView.findViewById(R.id.tab_layout);
  48. mPage = (ViewPager) mainView.findViewById(R.id.view_pager);
  49. coordinatorLayout = (CoordinatorLayout) mainView.findViewById(R.id.coordinator_layout_id);
  50. //mTabs.setupWithViewPager(mPage);
  51. SetUpViewPager();
  52. getTabLayoutLocation();
  53.  
  54. return mainView;
  55. }
  56.  
  57. @Override
  58. public void onAttach(Context context) {
  59. super.onAttach(context);
  60. if (context instanceof Activity) {
  61. myContext = (FragmentActivity) context;
  62. }
  63.  
  64. }
  65.  
  66. @Override
  67. public String toString() {
  68. return "SlidePageTabsMainFragment";
  69. }
  70.  
  71. public void SetUpViewPager() {
  72. //Add tabs icon with setIcon() or simple text with .setText()
  73. mTabs.addTab(mTabs.newTab().setIcon(R.drawable.supportop_icon));
  74. mTabs.addTab(mTabs.newTab().setIcon(R.drawable.repair_icon));
  75. mTabs.addTab(mTabs.newTab().setIcon(R.drawable.transport_icon));
  76. mTabs.addTab(mTabs.newTab().setIcon(R.drawable.security_icon));
  77.  
  78. //Add fragments
  79. SlidePageTabsAdapter adapter = new SlidePageTabsAdapter(myContext.getSupportFragmentManager());
  80. adapter.addFragment(new SupportopFragment());
  81. adapter.addFragment(new StatusFragment());
  82. adapter.addFragment(new ConnectionsFragment());
  83. adapter.addFragment(new SupportersFragment());
  84.  
  85. //Setting adapter
  86. mPage.setAdapter(adapter);
  87. mPage.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(mTabs));
  88. mTabs.addOnTabSelectedListener(new TabLayout.ViewPagerOnTabSelectedListener(mPage));
  89. }
  90.  
  91. public int getTabLayoutLocation() {
  92.  
  93. int[] location = new int[2];
  94. coordinatorLayout.getLocationOnScreen(location);
  95. int coordinatorLayoutYposition = location[1];
  96. return coordinatorLayoutYposition;
  97. }}
  98.  
  99. public class SlidePageTabsAdapter extends FragmentPagerAdapter {
  100. private final List<Fragment> mFragments = new ArrayList<>();
  101.  
  102. public SlidePageTabsAdapter(FragmentManager fm) {
  103. super(fm);
  104. }
  105.  
  106. public void addFragment(Fragment fragment) {
  107. mFragments.add(fragment);}
  108.  
  109.  
  110. @Override
  111. public Fragment getItem(int position) {
  112. return mFragments.get(position);
  113. }
  114.  
  115. @Override
  116. public int getCount() {
  117. return 4;
  118. }}
  119.  
  120. public class BaseFragment extends Fragment {
  121. protected Context context;
  122. FragmentChangeListener fragmentChangeListener;
  123.  
  124. @Override
  125. public void onCreate(Bundle savedInstanceState) {
  126. super.onCreate(savedInstanceState);
  127. this.context=getActivity();
  128. fragmentChangeListener = (FragmentChangeListener) getActivity();
  129. }}
  130.  
  131. SlidePageTabsAdapter adapter = new SlidePageTabsAdapter(myContext.getSupportFragmentManager());
  132. adapter.addFragment(new SupportopFragment());
  133. adapter.addFragment(new StatusFragment());
  134. adapter.addFragment(new ConnectionsFragment());
  135. adapter.addFragment(new SupportersFragment());
Add Comment
Please, Sign In to add comment