Я создал собственный встроенный компонент, как показано ниже для Android ImageView.
public class ImageViewManager extends SimpleViewManager<ImageView> {
public static final String REACT_CLASS = "ImageView";
@Override
public String getName() {
return REACT_CLASS;
}
@Override
protected ImageView createViewInstance(ThemedReactContext reactContext) {
ImageView imageView = new ImageView(reactContext);
imageView.setLayoutParams(new GridView.LayoutParams(300, 200))
return imageView;
}
@ReactProp(name="src")
public void setSrc(ImageView imageView, String src) {
try {
Bitmap bm = ImageUtilConverter.convert(src); // base64 to bitmap
imageView.setImageBitmap(bm);
} catch(IllegalArgumentException e) {
}
}
}
В JavaScript: импортируйте ImageView из './ImageView'
<ImageView
style={{width: deviceWidth, height: deviceHeight}}
src={this.state.selected} // base64 data
/>
Теперь я хочу получить высотуи ширину компонента в Java, так что я могу установить высоту и ширину в imageView.setLayoutParams (new GridView.LayoutParams (300, 200)).
Можно ли получить размер компонента в Java?