我想作如下说明:
1.起锚
1.基于for循环在画布上绘制矩形和位图列表
1.绘制完所有项目后,在旋转设备之前不调用onDraw,因为当我尝试在应用程序中导航时,应用程序太慢
1.我的画布在水平滚动视图中
当我试图滚动时,它非常慢
编辑:我正在扩展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));
}
}
请问有谁能帮忙吗??
3条答案
按热度按时间wswtfjt71#
你不能阻止onDraw被调用,但你可以覆盖它,并使用flag来告诉它是否应该执行。我没有看到你的代码,但我建议你这样做:
布尔调用绘图时=真;
当你想停止绘制时,你可以设置标记
callOnDraw = false;
67up9zun2#
我已经找到了一个变通方案来实现这一点,我已经在位图中绘制,每次我试图调用onDraw()时,我都会检查我的位图是否不为空,使用它
谢谢大家
p5fdfcr13#
对我来说,在if条件后调用
return;
是有效的。