我正在开发一个 Honeycomb 平板电脑应用程序,它需要在用户与其交互时缩放一些 UI View 。到目前为止,我一直在使用属性动画,它在 ImageViews 和 TextViews 上工作得很好,但在 WebView 上表现得很奇怪。
webView.animate().scaleX(2).setDuration(400);
此代码的行为完全符合我对 ImageView 和 TextView 的要求。它平滑地将 UI 缩放到原始大小的两倍(在本例中仅在 X 方向)。
对于 WebView,它会将 View 缩放到其原始大小的两倍,但视口(viewport)保持静止。如果我在那里放一个 translationX 动画,它也不会影响视口(viewport)的位置。如何让 WebView 的内容随 View 一起缩放?
更新:事实证明,我在此处输入的代码在 Android 3.1 模拟器中完美运行。我看到的奇怪行为只发生在实际设备上。我拥有的设备是装有 Android 3.1 的 Verizon Motorola Xoom。不幸的是,我没有任何其他设备可以对其进行测试,所以我不知道它是特定于模型的还是只是代码发布版本中的一个怪癖。
最佳答案
我开始认为这是 Android 或 Xoom 的错误。 关于这个forum thread你可以看到整个讨论。
在我的例子中,我对包含 webView 的 frameLayout 进行了 animate().translationX(value),但 webView 无法在新位置绘制它的内容。
我自己和论坛的一些人在运行 VegaComb 3.2 的 Advent Vega 上运行它,他们都遇到了同样的错误。另一方面,在具有不同屏幕尺寸和像素密度的多个模拟器或 Asus Transformer 上运行时,它会按照应有的方式运行。
关于android - 使用属性动画缩放 WebView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6685287/