gpt4 book ai didi

android - 如何以编程方式检查删除动画辅助功能设置的状态

转载 作者:行者123 更新时间:2023-12-04 23:56:04 26 4
gpt4 key购买 nike

我正在尝试检查 Remove animations 可访问性设置的状态,以便在我的应用程序上启用/禁用某些 UI 和 GIF 动画,但我在 AccessibilityManager 为了访问这个值:

enter image description here

有什么简单的方法可以访问这个值吗?即使反射(reflection)

最佳答案

我已经检查过,当这个值被切换时,3 个值被修改:

//global settings
animator_duration_scale=0
transition_animation_scale=0
window_animation_scale=0

您可以通过检查以编程方式确定这些:

    if (Settings.Global.getFloat(context.contentResolver, Settings.Global.ANIMATOR_DURATION_SCALE) == 0f)
// Animations Off behaviour
else
// Animations On behaviour

我做了一个方法来检查所有三个都不为 0(因为所有 3 个都会对齐,而且我认为这些有时可以在其他地方切换):

    fun animationsEnabled(): Boolean =
!(Settings.Global.getFloat(contentResolver, Settings.Global.ANIMATOR_DURATION_SCALE) == 0f
&& Settings.Global.getFloat(contentResolver, Settings.Global.TRANSITION_ANIMATION_SCALE) == 0f
&& Settings.Global.getFloat(contentResolver, Settings.Global.WINDOW_ANIMATION_SCALE) == 0f)

请记住,这些是缩放数字,所以它们不仅仅是 0 和 1!这就是我们需要获取它们的浮点值的原因,也是我们检查 0 的原因。然后我们需要记住,如果动画关闭,它们将全部设置为 0。

来源:

  1. https://developer.android.com/reference/android/provider/Settings.Global#ANIMATOR_DURATION_SCALE
  2. https://developer.android.com/reference/android/provider/Settings.Global#TRANSITION_ANIMATION_SCALE
  3. https://developer.android.com/reference/android/provider/Settings.Global#WINDOW_ANIMATION_SCALE

关于android - 如何以编程方式检查删除动画辅助功能设置的状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66891508/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com