[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。其中最主要的便是重载实现getName和creatViewInstance两个方法。
-
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开发之expo中camera的基本使用
ReactNative: 了解相机第三方库react-native-camera的使用
如何使用 react-native-camera 包获取加载的 Nosuitable image URL 为 null 捕获图像