在Android的scrollView上实现缩放

4

我正在尝试创建一个使用Android中scrollView的应用程序。恰好scrollView不支持矩阵。因此,我无法像这样做:

Matrix matrix = new Matrix();
Matrix eventMatrix = new Matrix();
// possible touch states
final static int NONE = 0;
final static int DRAG = 1;
final static int ZOOM = 2;
int touchState = NONE;

请问是否有其他方式可以实现缩放和捏合功能?感谢帮助。

谢谢。

[重新编辑]

scrollView 将作为容器,以便可以在其中放置各种 UI。这样,scrollView 可以作为一个 UI 部分。

谢谢。


我有同样的需求。你能分享一下代码给我吗? - Noundla Sandeep
3个回答

2

根据您的具体需求,以下是几种可能的解决方法:

  • 您可以创建一个视图,并在 onScroll 事件期间调整其布局参数。
  • 对于简单的缩放,您可能需要查看 animation。这应该有效地给您带来缩放效果。对于滚动视图中的特定元素。
  • 如果您需要缩放整个 scrollView,则可以将其包围在一个视图容器(例如 LinearLayout)中,并在此视图上执行缩放。

1
我不确定你是用ScrollView做什么,但你应该看一下这篇安卓开发者文章 - 理解多点触控,以获取捏合/缩放功能。

问题是关于缩放ScrollView,而不是处理多点触控事件。 - spatulamania
2
实际上,这个问题还问到了“是否有人知道是否可以通过其他过程获得缩放和捏合功能?”。我可能错了,但我非常确定“捏合”是一种多点触控手势 ;) - Noel

0

如果您的意图是为图像提供缩放功能,那么您很幸运!我编写了一个相当详细的类,扩展了ImageView以添加捏合缩放和平移功能,并进行边界测试。请点击这里查看。如果这不是您想要的,那么您将需要提供更多关于您想要做什么的信息。但是,这段代码可能适用于您的需求。


嗨,Mike,感谢你的建议,但我并不是在处理图像。我已经重新编辑了我的问题,以便实际传达我的代码目的。谢谢。 - user788511

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接