android - 可观察延迟忽略设备动画设置
问题描述
任何 Android 手机都有开发者选项来修改动画速度。Window 动画比例、Transition 动画比例和 Animator 持续时间比例是我说的三个设置。
下面的代码片段会忽略您的设置:
.delay(200, TimeUnit.MILLISECONDS).subscribe
代码忽略动画设置,因为“延迟”与动画没有内在联系。就我的代码而言,它是。
如何根据设备的开发人员选项动画缩放设置在我的应用中获取此代码以进行缩放?
解决方案
所以我发现了如何获取乘数的系统设置......
.delay(getScaledDelayDuration(200), TimeUnit.MILLISECONDS).subscribe
private long getScaledDelayDuration(long delay) {
float multiplier = Settings.System.getFloat(
this.getContext().getContentResolver(),
Settings.System.TRANSITION_ANIMATION_SCALE, 1);
return (long) (multiplier * delay);
}
...但这不仅不能解决我遇到的根本问题,而且根本不是解决这个问题的好方法。我想我现在应该删除这个问题。
推荐阅读
- javascript - Javascript - 如果字符串包含任何不匹配正则表达式的字符,则 String.search() 返回 true
- flutter - Flutter:OrientationBuilder - 重用子小部件而不重建?
- java - 如何仅使用 EasyMock 模拟静态 void 方法?
- drupal - Drush 安装 - 整合/现场流程
- c# - 使用匿名类型时,模拟方法返回 null
- doctrine - Shopware 5 PhpStan 分析中的“不接受 Doctrine\ORM\EntityRepository”错误
- asp.net - 我的网页内容与 MVC 模型不同
- python - 如何在辅助显示器上全屏显示图像?
- java - 在浏览器中处理文本输出(Spring Boot)
- c++ - 宏定义中的错误 - 未提供有效的预处理令牌