react-native-navigation的迁移库

SingleScreen.java 1.3KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. package com.reactnativenavigation.screens;
  2. import android.content.Context;
  3. import android.support.annotation.NonNull;
  4. import com.reactnativenavigation.params.ScreenParams;
  5. import com.reactnativenavigation.views.ContentView;
  6. import static android.view.ViewGroup.LayoutParams.MATCH_PARENT;
  7. public class SingleScreen extends Screen {
  8. private ContentView contentView;
  9. public SingleScreen(Context context, ScreenParams screenParams) {
  10. super(context, screenParams);
  11. }
  12. @Override
  13. protected void createContent() {
  14. contentView = new ContentView(getContext(), screenParams.screenId, screenParams.passProps, screenParams.navigationParams, this);
  15. addView(contentView, addBelowTopBar());
  16. contentView.init();
  17. }
  18. @NonNull
  19. private LayoutParams addBelowTopBar() {
  20. LayoutParams params = new LayoutParams(MATCH_PARENT, MATCH_PARENT);
  21. if (!screenParams.styleParams.drawUnderTopBar) {
  22. params.addRule(BELOW, topBar.getId());
  23. }
  24. return params;
  25. }
  26. @Override
  27. public void ensureUnmountOnDetachedFromWindow() {
  28. contentView.ensureUnmountOnDetachedFromWindow();
  29. }
  30. @Override
  31. public void preventUnmountOnDetachedFromWindow() {
  32. contentView.preventUnmountOnDetachedFromWindow();
  33. }
  34. }