放大(弹出)网格中的元素,而不是推动其他视图

Enlarge (pop) element in grid, not pushing the other Views

我想知道是否有一种简单的方法来制作元素网格,当按下其中一个元素时,

这个状态:

改变,显示被触摸的元素(此处为中心元素)

一开始,我想手动重新添加元素,然后以编程方式设置位置以使其看起来居中。

有没有更简单的方法,还是我需要为此付出一些努力?

据我所知,Android 动画不会影响视图边界。因此,您可以简单地使用 setScale 视图方法来放大和缩小它们。此外,您可以考虑使用动画以获得更好的用户体验。

在 Android 中,有两种显示视图网格的通用方法:

  • 网格视图
  • 网格布局

在这两种方法中,都可以使用这个技巧。

  • 为每个单元格(单独的视图)添加一个触摸侦听器,每当触摸类型为向下时,将其放大,否则将其缩放为正常。

在网格视图中,您应该在其适配器中执行此操作,而对于网格布局,您可以遍历其子项并应用此操作。