如何启用从设置中删除动画-> 辅助功能 android
Posted
技术标签:
【中文标题】如何启用从设置中删除动画-> 辅助功能 android【英文标题】:How to enable Remove Animation from Settings -> Accessibility android 【发布时间】:2022-01-12 06:33:27 【问题描述】:我需要启用从辅助功能中删除动画。默认情况下,它已被禁用。
下面是图片。
如何默认开启移除动画?
这是默认禁用的代码。
private SwitchPreference mToggleDisableAnimationsPreference;
// Settings that should be changed when toggling animations
private static final String[] TOGGLE_ANIMATION_TARGETS =
Settings.Global.WINDOW_ANIMATION_SCALE, Settings.Global.TRANSITION_ANIMATION_SCALE,
Settings.Global.ANIMATOR_DURATION_SCALE
;
private static final String ANIMATION_ON_VALUE = "1";
private static final String ANIMATION_OFF_VALUE = "0";
mToggleDisableAnimationsPreference =
(SwitchPreference) findPreference(TOGGLE_DISABLE_ANIMATIONS);
updateDisableAnimationsToggle();
@Override
public boolean onPreferenceTreeClick(Preference preference)
if (mToggleDisableAnimationsPreference == preference)
handleToggleDisableAnimations();
return true;
return super.onPreferenceTreeClick(preference);
private void handleToggleDisableAnimations()
String newAnimationValue = mToggleDisableAnimationsPreference.isChecked()
? ANIMATION_OFF_VALUE : ANIMATION_ON_VALUE;
for (String animationPreference : TOGGLE_ANIMATION_TARGETS)
Settings.Global.putString(getContentResolver(), animationPreference, newAnimationValue);
private void updateDisableAnimationsToggle()
boolean allAnimationsDisabled = true;
for (String animationSetting : TOGGLE_ANIMATION_TARGETS)
if (!TextUtils.equals(
Settings.Global.getString(getContentResolver(), animationSetting),
ANIMATION_OFF_VALUE))
allAnimationsDisabled = false;
break;
mToggleDisableAnimationsPreference.setChecked(allAnimationsDisabled);
这是来自 aosp 的代码。现在我到底需要在哪里通过默认禁用动画来启用?
【问题讨论】:
【参考方案1】:您可以尝试执行handleToggleDisableAnimations
(稍作修改),但我怀疑普通应用程序可以更改此设置,afaik 没有权限
private void handleDisableAnimations(boolean enabled)
String newAnimationValue = enabled
? ANIMATION_ON_VALUE : ANIMATION_OFF_VALUE;
for (String animationPreference : TOGGLE_ANIMATION_TARGETS)
Settings.Global.putString(getContentResolver(), animationPreference, newAnimationValue);
【讨论】:
好的。让我试试这个。所以默认情况下,checkbox 应该设为 true 并在 this 中传递这个值? 你有getString
获取当前状态的方法(如果可能的话),这应该是默认值(与设置相同)以上是关于如何启用从设置中删除动画-> 辅助功能 android的主要内容,如果未能解决你的问题,请参考以下文章