1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- package com.reactnativenavigation.activities;
-
- import android.support.v7.widget.Toolbar;
- import android.widget.FrameLayout;
-
- import com.reactnativenavigation.R;
- import com.reactnativenavigation.core.RctManager;
- import com.reactnativenavigation.core.objects.Screen;
- import com.reactnativenavigation.views.ScreenStack;
-
- /**
- * Created by guyc on 05/04/16.
- */
- public class SingleScreenActivity extends BaseReactActivity {
-
- public static final String EXTRA_SCREEN = "extraScreen";
-
- private Toolbar mToolbar;
- private ScreenStack mScreenStack;
- private String mNavigatorId;
-
- @Override
- protected void handleOnCreate() {
- mReactInstanceManager = RctManager.getInstance().getReactInstanceManager();
-
- setContentView(R.layout.single_screen_activity);
- mToolbar = (Toolbar) findViewById(R.id.toolbar);
-
- Screen screen = (Screen) getIntent().getSerializableExtra(EXTRA_SCREEN);
- mNavigatorId = screen.navigatorId;
- setupToolbar(screen.title);
-
- mScreenStack = new ScreenStack(this);
- FrameLayout contentFrame = (FrameLayout) findViewById(R.id.contentFrame);
- contentFrame.addView(mScreenStack);
- mScreenStack.push(screen);
- }
-
- private void setupToolbar(String title) {
- mToolbar.setTitle(title);
- setSupportActionBar(mToolbar);
- }
-
- @Override
- public void push(Screen screen) {
- super.push(screen);
- mScreenStack.push(screen);
- }
-
- @Override
- public Screen pop(String navigatorId) {
- super.pop(navigatorId);
- return mScreenStack.pop();
- }
-
- @Override
- public String getCurrentNavigatorId() {
- return mNavigatorId;
- }
-
- @Override
- protected Screen getCurrentScreen() {
- return mScreenStack.peek();
- }
-
- @Override
- public int getScreenStackSize() {
- return mScreenStack.getStackSize();
- }
- }
|