[RN] Camera: ViewGroupManager

Posted jesse123

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[RN] Camera: ViewGroupManager相关的知识,希望对你有一定的参考价值。

 

 

Ref: 从Android到React Native开发(三、自定义原生控件支持)

既然有官方封装,那肯定少不了自定义控件。react native自定义组件还是很方便的,关键就在于ViewManager/ViewGroupManager。从类名上,很明显是对应原生中的View和ViewGroup。

*** (PS :react native 中的View组件,封装的其实是ViewGroupManager,所以View组件才可以包裹子组件,组件中的ZIndex属性,其实就是子组件在add到ViewGroup中先后,如下图) ***


继承ViewGroupManager

首先我们需要实现一个XXXGroupManager (例如:CameraViewManager),继承于ViewGroupManager。其中最主要的便是重载实现getNamecreatViewInstance两个方法。

  • getName 指定了XXXGroupManager在js组件中获取的名称。

  • creatViewInstance 创建了自定义控件在Manager中使用,这里只要将你在原生端的自定义控件,生成即可。

js组件中,使用requireNativeComponent,可以通过上面中getName指定的名称,获取到对应的控件,如下图,通过获取到的控件,就可以配置对应的接口啦。

 
public class CameraViewManager extends ViewGroupManager<RNCameraView> {

  @Override
  public String getName() {
     return REACT_CLASS;
  }

  @Override
  protected RNCameraView createViewInstance(ThemedReactContext themedReactContext) {
     return new RNCameraView(themedReactContext);
  }

}

 

以上是关于[RN] Camera: ViewGroupManager的主要内容,如果未能解决你的问题,请参考以下文章

React-Native中二维码扫描使用

React Native开发之expo中camera的基本使用

ReactNative: 了解相机第三方库react-native-camera的使用

如何使用 react-native-camera 包获取加载的 Nosuitable image URL 为 null 捕获图像

ReactNative: 使用图像选择器功能ImagePickerIOS

如何将rn集成到ios原生应用中