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里面的文件上传

android中webview加载html,用本地的css渲染页面如何做

WebView 在某些 Android 设备上不加载图像或 css

在android中将CSS注入带有webview的站点

关于Android中WebView在加载网页的时候,怎样应用本地的CSS效果