我想做以下事情:
获取画布
在画布上绘制矩形和位图列表 基于for循环
不会调用onDraw 我旋转设备,因为我尝试时应用程序太慢了 浏览它
我的画布在HorizontalScrollView
当我尝试滚动时非常慢
编辑:我正在扩展View类,所以我可以保存视图并且不要调用onDraw,除非我想让它无效吗?
编辑2:这是我的onDraw方法
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
for (int i = 0 ; i < mIcons.size() ; i++) {
prepareItem(canvas, paint, mIcons.get(i));
}
}
请任何人可以帮忙吗?
答案 0 :(得分:1)
您无法阻止调用onDraw,但您可以覆盖它并使用标志来判断它是否应该执行。我没有看到你的代码,但我建议你这样:
boolean callOnDraw = true;
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
if(callOnDraw){
for (int i = 0 ; i < mIcons.size() ; i++) {
prepareItem(canvas, paint, mIcons.get(i));
}
callOnDraw = false;
}
}
如果您想要停止绘图,请设置标记callOnDraw = false;
答案 1 :(得分:0)
我找到了一个解决方法来使这个工作,我画了位图,每次我尝试调用onDraw()我检查我的位图是否为空使用它
全部谢谢