【问题标题】:implement zoom on scrollView android在scrollView android上实现缩放
【发布时间】:2011-12-02 00:04:49
【问题描述】:

我正在尝试创建一个在 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 部件。

谢谢。

【问题讨论】:

  • 拜托,任何人,非常感谢!!
  • 我也有同样的要求。你能把代码分享给我吗?

标签: android android-layout scrollview android-scrollview


【解决方案1】:

我不确定您使用 ScrollView 的目的是什么,但您应该查看这篇 android 开发人员文章 - Making sense of multitouch 以获取捏合/缩放功能。

【讨论】:

  • 问题是关于缩放滚动视图,而不是处理多点触控事件。
  • 其实这个问题还问“有没有人知道是否可以通过其他过程实现缩放和捏合功能?”。我可能是错的,但我很确定“捏”是一种多点触控手势;)
【解决方案2】:

如果您打算为图像提供缩放功能,那么您很幸运!我编写了一个相当彻底的类,它扩展了 ImageView 以添加捏缩放和平移功能,并进行边界测试。看看here。如果这不是您想要的,那么您将必须提供有关您想要做什么的更多信息。但是,此代码可能会适应您的需求。

【讨论】:

  • 嗨,迈克,感谢您的建议,但我并没有按照说的方式处理图像。我重新编辑了我的问题,以便真正传达我的代码的目的。谢谢。
【解决方案3】:

根据您的具体要求,这里有几种可能的方法来解决这个问题:

  • 您可以在 onScroll 事件期间创建视图并调整其布局参数。
  • 对于普通缩放,您可能需要查看动画。这应该有效地为您提供缩放效果。对于滚动视图中的特定元素。
  • 如果您需要缩放整个scrollView,您可以用一个视图容器(例如LinearLayout)围绕它并在此视图上执行缩放。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-09-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-03
    • 1970-01-01
    • 1970-01-01
    • 2019-05-24
    相关资源
    最近更新 更多