使用缩放/缩放更改GridView中的列数

时间:2013-02-26 14:25:28

标签: android gridview pinchzoom

在我的应用程序中,我使用GridView实现了一个类似于视图的Gallery。我想根据用户的选择手动更改GridView中的列数。我可以通过提供任何按钮或菜单选项来更改它。我想用Zoom / Pinch操作做同样的事情,如果有人试图缩放GridView,它应该减少列的数量,如果尝试捏合则增加相同的数量。为了达到这个目的,我尝试重写onTouch事件,但它既不平滑也不理想。如果有人知道或知道如何实现这一点,请告诉我。

1 个答案:

答案 0 :(得分:0)

这并不容易。

首先我会尝试这个:

在GridView顶部放置一个普通视图(即此视图与GridView位于同一位置,并具有相同的宽度和高度)。

覆盖此普通视图的onTouchEvent。如果检测到捏拉缩放,请执行特殊处理(更改GridView的列)。如果您没有检测到Pinch Zoom,请让onTouchEvent返回false(未处理),让触摸事件向下冒泡到底层GridView。

诀窍在于正确识别捏放大并且不会弄乱GridView的默认触摸行为。