我有一个带有背景图像的view-1,另一个在view-1顶部有图像的view-2。我需要擦除view-2中的图像,并需要在view-1中显示图像。 在带有绘画模块的IOS中,这是可能的。但是在android中,它不起作用。
这是我的代码:
<Alloy>
<Window id="scratchImageScreen">
<View id="canvasView"></View>
</Window>
</Alloy>
var Paint = require('ti.paint');
var paintView = null;
$.canvasView.backgroundImage = "/images/scratchImage/scratchCard1.png";
paintView = Paint.createPaintView({
top : 0,
right : 0,
bottom : 0,
left : 0,
strokeWidth : 10,
eraseMode : true,
image : "/images/scratchImage/scratch_card.png"
});
$.canvasView.add(paintView);
答案 0 :(得分:0)
问题出在ti.paint模块中的setImage属性。设置图像之前,应使用主线程。
在PaintViewProxy.java模块中执行以下更改:
public void setImage(String imagePath) {
final String imgPath = imagePath;
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
paintView.setImage(imgPath);
}
});
}