react-native-navigation的迁移库

TitleBarReactViewController.java 1.4KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. package com.reactnativenavigation.viewcontrollers;
  2. import android.app.Activity;
  3. import com.reactnativenavigation.parse.Component;
  4. import com.reactnativenavigation.parse.Options;
  5. import com.reactnativenavigation.utils.CompatUtils;
  6. import com.reactnativenavigation.views.titlebar.TitleBarReactView;
  7. import com.reactnativenavigation.views.titlebar.TitleBarReactViewCreator;
  8. public class TitleBarReactViewController extends ViewController<TitleBarReactView> {
  9. private final TitleBarReactViewCreator reactViewCreator;
  10. private Component component;
  11. public TitleBarReactViewController(Activity activity, TitleBarReactViewCreator reactViewCreator) {
  12. super(activity, CompatUtils.generateViewId() + "", new Options());
  13. this.reactViewCreator = reactViewCreator;
  14. }
  15. @Override
  16. public void onViewAppeared() {
  17. super.onViewAppeared();
  18. runOnPreDraw(view -> view.setLayoutParams(view.getLayoutParams()));
  19. view.sendComponentStart();
  20. }
  21. @Override
  22. public void onViewDisappear() {
  23. view.sendComponentStop();
  24. super.onViewDisappear();
  25. }
  26. @Override
  27. protected TitleBarReactView createView() {
  28. return reactViewCreator.create(getActivity(), getId(), component.name.get());
  29. }
  30. @Override
  31. public void sendOnNavigationButtonPressed(String buttonId) {
  32. }
  33. public void setComponent(Component component) {
  34. this.component = component;
  35. }
  36. }