码迷,mamicode.com
首页 > 其他好文 > 详细

[RN] Camera: ViewGroupManager

时间:2020-01-13 18:15:09      阅读:166      评论:0      收藏:0      [点我收藏+]

标签: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。其中最主要的便是重载实现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

标签:code   getname   androi   方法   pre   target   就是   str   ctc   

原文地址:https://www.cnblogs.com/jesse123/p/12188367.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!