我想添加一个来自Android的组件以反应天然。但是它没有渲染,也没有尺寸。如何修复并显示组件?代码类以连接组件。我使用了指南和其他人的例子。
upd:有一个错误:react_class =" rctimageView";它仍然来自其余的尝试。更改回CustomView-无济于事。
CustomViewManager.java:
public class CustomViewManager extends SimpleViewManager<TextView> {
public static final String REACT_CLASS = "CustomView";
@Override
public String getName() {
return REACT_CLASS;
}
@Override
public TextView createViewInstance(ThemedReactContext context) {
TextView tv = new TextView(context);
tv.setText("Текст");
tv.setTextColor(Color.BLACK);
tv.setWidth(100);
tv.setHeight(100);
return tv;
}
}
customviewpackage.java:
public class CustomViewPackage implements ReactPackage {
@Override
public List<ViewManager>
createViewManagers(ReactApplicationContext reactContext) {
return Arrays.<ViewManager>asList(
new CustomViewManager()
);
}
@Override
public List<NativeModule>
createNativeModules(ReactApplicationContext reactContext) {
return Collections.emptyList();
}
}
mainapplication.java:
@Override
protected List<ReactPackage> getPackages() {
return Arrays.<ReactPackage>asList(
new MainReactPackage(),
new CustomViewPackage()
);
}
CustomTextView.js:
import React from 'react';
import {
requireNativeComponent
} from 'react-native';
module.exports = requireNativeComponent('CustomView');
app.js:
export default class App extends Component {
render() {
return (
<View
style={ styles.container }
>
<CustomView/>
</View>
);
}
}
有必要设置flex尺寸。
在CustomView组件中,您必须传递样式= {{flex:1}}
请确保您写了可接受的CSS。不要使用" 12pt"," 12",以及我们应用中未安装的任何字体家庭CSS。如果您的Android模拟器在世博编辑器中打破,请检查所有组件CSS Agiain。