【发布时间】:2018-04-26 18:30:21
【问题描述】:
我有一个 Android 自定义视图,它显示从服务器下载的图像网格。图片在后台下载,图片下载后添加到列表中,触发视图重绘。
因此,每次下载图像时,我都会绘制背景,然后是列表中的图像。这种方法会导致出现一些闪烁。另外,我发现只为一张新图像绘制所有图像效率低下。
是否可以在 OnDraw 事件之外的视图中绘制一些东西?因此,我只会绘制新下载的图像,而不是整个列表。
使用 Windows 窗体,我可以在 Paint 事件之外执行此操作:
Graphics g = this.CreateGraphics(); // this being a Control (<=> View), Graphics <=> Canvas
g.DrawSomething()
g.Dispose()
Android 中是否有类似的功能,或者我的方法不正确?
【问题讨论】:
-
您应该考虑使用带有网格布局管理器的回收器视图,无需为此类用例编写自定义视图
-
可以看SurfaceView类,参考this。
-
@JoeLv-MSFT 我最终使用了 SurfaceView 类。如果您将评论添加为答案,我会接受。
标签: android xamarin.android android-custom-view