Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/211.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 移动设备上的“角度材质”对话框动画速度非常慢_Android_Angular_Google Chrome_Animation_Angular Material2 - Fatal编程技术网

Android 移动设备上的“角度材质”对话框动画速度非常慢

Android 移动设备上的“角度材质”对话框动画速度非常慢,android,angular,google-chrome,animation,angular-material2,Android,Angular,Google Chrome,Animation,Angular Material2,在我的Xperia M5上运行棉花糖,angular material的对话框的打开动画在chrome中非常糟糕,即使在chrome上也是如此。有没有办法只在手机上为对话框禁用动画 我已经看过了,但它建议禁用所有动画,CSS解决方案不起作用 另外,我正在运行Angular 5,所有内容都已更新为稳定状态。这就是我在android设备上禁用对话框动画所做的 我使用Ng2DeviceService来确定它是否是android设备。可以很容易地修改以查找其他条件 这对angular 5有效。不确定旧版

在我的Xperia M5上运行棉花糖,angular material的对话框的打开动画在chrome中非常糟糕,即使在chrome上也是如此。有没有办法只在手机上为对话框禁用动画

我已经看过了,但它建议禁用所有动画,CSS解决方案不起作用


另外,我正在运行Angular 5,所有内容都已更新为稳定状态。

这就是我在android设备上禁用对话框动画所做的

我使用Ng2DeviceService来确定它是否是android设备。可以很容易地修改以查找其他条件

这对angular 5有效。不确定旧版本

我在app.module.ts中完成了这一切

添加导入

import { AnimationDriver, ɵWebAnimationsDriver, ɵNoopAnimationDriver } from '@angular/animations/browser';
创建一个动画工厂

 /**
 * Disable animations for dialogs on slow devices
 * @returns {WebAnimationsDriver}
 */
const animationFactory = () => {
  const deviceService = new Ng2DeviceService();
  const noop = AnimationDriver.NOOP;
  const driver = new ɵWebAnimationsDriver();
  const originalAnimate = driver.animate;

  const isAndroid = deviceService.os === 'android';

  let disableComplexAnimations = false;
  if (isAndroid) {
    disableComplexAnimations = true;
  }

  driver.animate = (element: any, keyframes: {
    [key: string]: string | number;
  }[], duration: number, delay: number, easing: string, previousPlayers?: any[]) => {
    if (disableComplexAnimations && element && element.nodeName === 'MAT-DIALOG-CONTAINER') {
      return noop.animate(element, keyframes, duration, delay, easing, previousPlayers);
    } else {
      return originalAnimate(element, keyframes, duration, delay, easing, previousPlayers);
    }
  };
  return driver;
};
注册在您的提供商列表中:

  providers: [
    { provide: AnimationDriver, useFactory: animationFactory },
  ],

你找到解决办法了吗?@gustavariasméndez,没有,还没有:/你在v9上遇到了同样的问题吗?任何前缀为
ɵ
的令牌都不应该使用。它们被认为是私人的,随时可能破裂。