react-native-navigation的迁移库

TabActivity.java 1.5KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. package com.reactnativenavigation.activities;
  2. import android.support.design.widget.TabLayout;
  3. import android.support.v4.view.ViewPager;
  4. import android.support.v7.widget.Toolbar;
  5. import com.reactnativenavigation.R;
  6. import com.reactnativenavigation.adapters.ViewPagerAdapter;
  7. import com.reactnativenavigation.core.RctManager;
  8. import com.reactnativenavigation.core.Screen;
  9. import java.util.ArrayList;
  10. /**
  11. * Created by guyc on 02/04/16.
  12. */
  13. public class TabActivity extends BaseReactActivity {
  14. public static final String EXTRA_SCREENS = "extraTabs";
  15. private Toolbar mToolbar;
  16. private TabLayout mTabLayout;
  17. private ViewPager mViewPager;
  18. @Override
  19. protected void handleOnCreate() {
  20. mReactInstanceManager = RctManager.getInstance().getReactInstanceManager();
  21. setContentView(R.layout.tab_activity);
  22. mToolbar = (Toolbar) findViewById(R.id.toolbar);
  23. mTabLayout = (TabLayout) findViewById(R.id.tabLayout);
  24. mViewPager = (ViewPager) findViewById(R.id.viewPager);
  25. setupToolbar();
  26. setupViewPager();
  27. }
  28. private void setupToolbar() {
  29. setSupportActionBar(mToolbar);
  30. }
  31. private void setupViewPager() {
  32. ArrayList<Screen> screens = (ArrayList<Screen>) getIntent().getSerializableExtra(EXTRA_SCREENS);
  33. ViewPagerAdapter adapter = new ViewPagerAdapter(this, mViewPager, screens);
  34. mViewPager.setAdapter(adapter);
  35. mTabLayout.setupWithViewPager(mViewPager);
  36. mTabLayout.setOnTabSelectedListener(adapter);
  37. adapter.notifyDataSetChanged();
  38. }
  39. }