标签:code getname androi 方法 pre target 就是 str ctc
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); }
}
标签:code getname androi 方法 pre target 就是 str ctc
原文地址:https://www.cnblogs.com/jesse123/p/12188367.html