Android Webview 是不是支持 CSS3 WebKit 动画?
Posted
技术标签:
【中文标题】Android Webview 是不是支持 CSS3 WebKit 动画?【英文标题】:Does the Android Webview support CSS3 WebKit Animations?Android Webview 是否支持 CSS3 WebKit 动画? 【发布时间】:2012-01-06 01:06:51 【问题描述】:android OS 上的 WebView 控件是否支持硬件加速的 css3 动画?我在 Safari Mobile 上使用的所有 webkit css(例如:-webkit-transition bla bla)它们在 android 上的工作方式相同吗?
【问题讨论】:
【参考方案1】:是的,根据this page.. 它支持从版本 3.0 到最后,心爱的 Jelly Bean ;)
另一方面,开发人员经历了不太成功的结果。引用here:
Android 设备支持 CSS 动画——但前提是只有一个 属性变了。一旦您尝试为多个动画制作动画 属性一次,整个元素消失。在非原生 Android 中 浏览器,该元素将在持续时间内可见 动画,但完成后会立即隐藏。
并从同一来源更新:
..事实证明,Android 4.0 实际上解决了这个问题。尽管如此,我们还需要 敦促这些资源的作者明确提及完整的 以前的 Android 版本不提供支持..
所以最终答案 4.0+ 版本很好地支持它..
更新:来自 KitKat WebView 由 Chromium 提供支持(与 Chrome 浏览器中的引擎相同),因此从这个 Android 版本开始,应该完全支持高级 html5 和 CSS 功能。更多关于这个here
希望你觉得它有用.. ;)
【讨论】:
您的答案是关于浏览器应用程序,但问题是关于 WebView 控件。我在 WebView 中测试了 CSS 旋转动画(请参阅 ***.com/a/6410923/65899),它仅适用于最新的 4.4 KitKat。 谢谢。 KitKat 中的 Android WebView 由 Chromium 引擎提供支持,之前它由 WebKit 提供支持(与旧的默认浏览器基本相同......)所以我更新了答案 我的错:我试图为:before
伪元素设置动画,而 WebView 在 KitKat 之前有一个错误(可能是这个 bugs.webkit.org/show_bug.cgi?id=92591)。除此之外,你的答案是绝对正确的。【参考方案2】:
如果您希望在 Android Webview 中对 webkit 过渡进行动画硬件加速,您需要在清单文件中启用硬件加速,如下所示:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
... >
...
<application ... android:hardwareAccelerated="true">
...
</application>
</manifest>
它并不完美,但它对渲染的改进很大。
【讨论】:
以上是关于Android Webview 是不是支持 CSS3 WebKit 动画?的主要内容,如果未能解决你的问题,请参考以下文章
android webview 浏览器是不是支持 html5 功能?
android中webview加载html,用本地的css渲染页面如何做