我正在 android 中创建一个自定义视图,并在我的 react 本机项目中的 JS 组件上添加此视图,我使用 ReactPackage 方法创建了一个桥模块:
@Override
public List<ViewManager> createViewManagers(ReactApplicationContext reactContext) {
List<ViewManager> list = new ArrayList<>();
list.add(new MyCustomViewModule(reactContext));
return list;
}
并在方法中传递 SimpleViewManager 子类 (MyCustomViewModule) 中视图的自定义子类的对象:
@Override
protected View createViewInstance(ThemedReactContext reactContext) {
return new CustomView(reactContext);
}
我的问题是 onDraw 方法没有调用自定义视图类。当此桥接模块启动时,onDraw 方法将调用什么?
onDraw 不调用,因为当您在 JS 组件中渲染自定义视图时需要一些 props。您应该在视图中将宽度和高度作为样式道具传递,例如:
render() {
<Your_module_view style={{width:100, height:100}}/>
}
在这里,您可以根据您的视图布局传递任何宽度和任何高度。