Nano Hash - криптовалюты, майнинг, программирование

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

Итак, что мне нужно сделать, так это включить и выключить анимацию окон и / или переходов в коде, чтобы иметь тот же эффект, что и при выборе «Настройки»> «Дисплей»> «Анимация»> «Отключить все анимации».

Я знаком с изменением настроек устройства с помощью 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);

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

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

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

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


  • Вы смогли найти решение этой проблемы? Я борюсь с той же проблемой 08.08.2013

Ответы:


1

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

Settings.System.TRANSITION_ANIMATION_SCALE 

Изменит переходы Activity.

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

Settings.System.WINDOW_ANIMATION_SCALE

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

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

Settings.System.ANIMATOR_DURATION_SCALE

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

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

  • ContentProvider является асинхронным, и вам нужно будет прослушать настройку, чтобы завершить настройку
  • Кроме того, они, вероятно, не будут работать, пока вы не создадите / не завершите работу. это означает, что их изменение в середине активности может не повлиять на текущий Activity, но мне придется проверить эту теорию.
19.11.2012
Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..