我有一个滑块组件,我希望它有一个句柄,因为 png 图像作为道具传递。现在,我希望该 png 图像通过本机反应到本机模块(android 和 ios 两者)。该组件是在原生端为 ios(Objective C) 和 android(Java) 编写的。
- 如何将 png 图像作为道具传递给本机模块?
- 我如何在本机 Java 部分使用它们?(我正在使用 Canvas 来绘制我的滑块,如下所示)。
- 我如何在原生 Objective C 中使用它们?(我正在使用 CGContext 来绘制我的滑块)。
我试过的:
- 我在 React Native 端通过以下代码解析了 png 图像的路径。
const myImage = require('../assets/slider-handle.png');
const resolveAssetSource = require('react-native/Libraries/Image/resolveAssetSource');
const resolvedImage = resolveAssetSource(myImage);
然后将图像的路径作为 prop 传递imagePath={resolvedImage.uri}
。
然后在 Java 部分,我执行以下操作:
public void drawImage(String imagePath, Canvas canvas, int x, int y) {
Bitmap bitmap = BitmapFactory.decodeFile(imagePath);
canvas.drawBitmap(bitmap, y, x, somePaintValue);
}
我正在获取图像的路径(路径是这样的:(http://10.0.2.2:8081/assets/app/components/slider/assets/slider.png),我已经通过安慰小路。
不确定我是否只需要传递图像的路径,或者是否有办法传递整个 png。这是我第一次使用 Java 和 Objective C。 这是我正在开发的滑块。 任何帮助将不胜感激。