安卓Webview支持CSS3 WebKit动画吗?

7
Android操作系统上的WebView控件是否支持硬件加速的CSS3动画?我在Safari Mobile上使用的所有WebKit CSS(例如:-webkit-transition bla bla)在Android上是否可以正常工作?
2个回答

7

根据这个页面的说法,支持版本从3.0到Jelly Bean。

但是开发者的体验并不是很理想。引用此处的话:

CSS动画可以在Android设备上使用,但只有一个属性发生变化时才能使用。一旦你尝试同时动画多个属性,整个元素就会消失。在非本地Android浏览器中,元素将在动画期间可见,但在完成后立即隐藏。

同一来源的更新:

...事实证明,Android 4.0实际上解决了这个问题。然而,我们需要敦促这些资源的作者明确说明在之前的Android版本中没有完全支持...

因此最终答案是4.0+版本良好支持它。

更新:从KitKat WebView由Chromium(与Chrome浏览器中相同的引擎)驱动,因此从此Android版本开始,高级HTML5和CSS功能应该得到完全支持。更多信息请参阅此处

希望你觉得这个信息有用。;)


你的回答是关于浏览器应用程序,但问题是关于WebView控件的。我在WebView中测试了一个CSS旋转动画(参见https://dev59.com/QGw15IYBdhLWcg3wxugh#6410923),它只在最新的4.4 KitKat上工作。 - amartynov
感谢您。Android KitKat中的WebView使用Chromium引擎进行驱动,而以前则使用WebKit(基本上与旧版默认浏览器相同..),所以我更新了答案。 - Ewoks
3
我的错:我尝试给 :before 伪元素添加动画效果,但是 WebView 在 KitKat 版本之前存在一个 bug(可能是 https://bugs.webkit.org/show_bug.cgi?id=92591)。除此之外,你的答案完全正确。 - amartynov

3
如果您希望在 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>

它不是完美的,但它大大提高了呈现效果。


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