Отключить настройки окна и перехода

Поэтому мне нужно включить и выключить анимацию окон и / или переходов в коде, чтобы получить тот же эффект, что и при переходе в Настройки & gt; Показать & gt; Анимации & gt; Отключить все анимации.

Я знаком с изменением настроек устройства, используя ContentResolver в методе Settings.System.putInt () следующим образом:

ContentResolver cr = getContentResolver();
Settings.System.putInt(cr, Settings.System.WINDOW_ANIMATION_SCALE, 0);

Как описано в документации «Установка в 0 отключит все .... анимации» для обеих настроек. При чтении настройки до и после использования метода putInt (), используйте это:

Settings.System.getString(cr, Settings.System.WINDOW_ANIMATION_SCALE);

Я вижу, что настройка меняется. Однако когда затем что-то делают для запуска анимации окна или перехода, очевидно, что настройка не имеет никакого значения, и переход все же происходит.

Я также хотел бы сказать, что когда я изменяю настройку на экране настроек, я вижу, что эта настройка была изменена при повторном запуске приложения. Таким образом, кажется, что это правильная настройка, и мое приложение не меняет ее правильно.

Что-то еще мне не хватает?

Заранее спасибо.

 ambit08 авг. 2013 г., 09:15
Вы смогли найти решение этой проблемы? Борюсь с той же проблемой

Ответы на вопрос(1)

Убедитесь, что вы устанавливаете правильные весы.

Settings.System.TRANSITION_ANIMATION_SCALE 

Изменит активность переходов.

В то время как:

Settings.System.WINDOW_ANIMATION_SCALE

Будет влиять на анимации окна, такие как открытие диалогов.

(Добавлен API16). Это позволит включить / отключить просмотр определенных анимаций.

Settings.System.ANIMATOR_DURATION_SCALE

Я также уверен, что этоfloats так как они могут быть 0,5x настройки анимации, что означает половину скорости. Я никогда не пробовал это из приложения раньше.

Но на ум приходят две вещи:

The ContentProvider is asynchronous, and you will need to listen to the Setting to finished being set Also that these will probably not work until you create/finish and activity. meaning changing them mid activity might not effect the current Activity, but I will have to test that theory.

Ваш ответ на вопрос