ViewPager 与 ImageViews 具有捏合缩放和手势功能 - 视图重用问题

发布于 2024-12-24 17:04:54 字数 289 浏览 1 评论 0原文

我有一个 ViewPager ,其中包含自定义的基于 ImageView 的类作为 ViewPager 子类。在我的 ImageView 中,我实现了手势处理 - 捏合和两指缩放以及图像移动。现在我的问题是 ViewPager 重用视图,并且没有保存子视图的特定视图状态的机制。在我的例子中,它会导致以下结果 - 用户在特定 ImageView 上缩放和/或移动图像,然后 ViewAdapter 重用当前视图的视图,并且图像以默认比例/位置显示。我想知道如何保存视图状态,以便在视图重用后我可以加载视图的最后状态以获得正确的缩放/移动状态。 有人有一些提示吗?

I have a ViewPager with custom ImageView-based class as ViewPager childrens. In my ImageView I have implemnted gesture handling - pinch and 2-finger zoom and image move. Now my problem is that ViewPager reuses view and there is no mechanism for saving particular view state of child views. In my case it results in following - user zooms and/or moves image on particular ImageView, then ViewAdapter reuses view for current view and the image gets display with default scale/position. I wonder how to save the view state so that after view reuse I can load the last state of view to have the correct zoom/move state.
Does anybody have some hints?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

断肠人 2024-12-31 17:04:54

也许您应该使用 setTag 并保存修改后的子视图的状态。如果getTag不为null,则可以恢复子级的状态。

Maybe you should use setTag and save the state of the modified child view. If getTag is not null, you can restore the state of the child.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文