我一直在尝试创建一个ViewGroup,它允许我单独移动它的孩子,同时让我使用捏缩放。我开始使用的版本允许我以绝对的方式单独移动孩子。在每个子节点上都有一个onTouchListner,然后在它的LayoutParams中更改该子节点的位置。
在研究如何为我的应用程序实现捏拉缩放时,我遇到了这篇博文http://android-developers.blogspot.de/2010/06/making-sense-of-multitouch.html和此stackoverflow问题View with horizontal and vertical pan/drag and pinch-zoom。在这些例子中,他们使用canvas.transform来移动东西,但这会移动父节点,并且所有节点都包含子节点。我想让孩子们个别地移动,但保持上面例子中的功能,允许缩放和维护孩子内部(例如)按钮的功能。
最好的策略是什么?有没有办法使用这些示例,但更改它们以便识别正在移动的子项,然后仅转换该特定子项的画布,或者我是否需要使用旧策略移动子项与LayoutParams,如果是这样,您将如何实现缩放?