react-native-navigation的迁移库

SingleScreenActivity.java 1.5KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. package com.reactnativenavigation.activities;
  2. import android.support.v7.widget.Toolbar;
  3. import android.widget.FrameLayout;
  4. import com.reactnativenavigation.R;
  5. import com.reactnativenavigation.core.RctManager;
  6. import com.reactnativenavigation.core.objects.Screen;
  7. import com.reactnativenavigation.views.ScreenStack;
  8. /**
  9. * Created by guyc on 05/04/16.
  10. */
  11. public class SingleScreenActivity extends BaseReactActivity {
  12. public static final String EXTRA_SCREEN = "extraScreen";
  13. private Toolbar mToolbar;
  14. private FrameLayout mContentFrame;
  15. private ScreenStack screenStack;
  16. private String navID;
  17. @Override
  18. protected void handleOnCreate() {
  19. mReactInstanceManager = RctManager.getInstance().getReactInstanceManager();
  20. setContentView(R.layout.single_screen_activity);
  21. mToolbar = (Toolbar) findViewById(R.id.toolbar);
  22. mContentFrame = (FrameLayout) findViewById(R.id.contentFrame);
  23. Screen screen = (Screen) getIntent().getSerializableExtra(EXTRA_SCREEN);
  24. navID = screen.navigatorId;
  25. setupToolbar(screen.title);
  26. screenStack = new ScreenStack(this);
  27. mContentFrame.addView(screenStack);
  28. screenStack.push(screen);
  29. }
  30. private void setupToolbar(String title) {
  31. mToolbar.setTitle(title);
  32. }
  33. @Override
  34. public void push(Screen screen) {
  35. screenStack.push(screen);
  36. }
  37. @Override
  38. public Screen pop(String navID) {
  39. return screenStack.pop();
  40. }
  41. @Override
  42. public String getActiveNavigatorID() {
  43. return navID;
  44. }
  45. }