2017-01-20 2 views
0

Я хочу, чтобы получить (анимацию на основе нагрузки и в режиме реального времени) «Аниматор продолжительности шкалы/скорости» (из вариантов разработчика), для того, чтобы установить правильную скорость анимации при некоторых процессах в моем приложении.Как получить программный масштаб масштабирования андроидов?

Или, есть ли способ переопределить скорость по умолчанию/1x (в случае, если пользователь настроен на 0,5x), чтобы не писать много случаев? (другими словами приложение на основе анимации скорость)

Должен ли я заботиться об этой проблеме, является ли это общей проблемой?

+0

анимация имеет длительность, просто изменить его accordly –

+0

@LucaNicoletti это как викторины приложения, пользователь имеет 10s, чтобы ответить, но если его масштаб анимации выставиться в 0.5x анимация заканчивается в 5 секундах (она работает плавник e по умолчанию, 1x скорость). Таким образом, продолжительность анимации не позволяет мне справиться с этой ситуацией. – Aaron

+0

Наконец-то я нашел этот код, который помог мне получить текущую скорость анимации пользователей. 'Settings.Global.getFloat (getContentResolver(), Settings.Global.ANIMATOR_DURATION_SCALE, 1.0f);' – Aaron

ответ

-1

для системных приложений (скрытый класс)IWindowManager имеет метод, чтобы получить все три вида анимации масштаба:

try { 
    IWindowManager iwm = IWindowManager.Stub.asInterface(ServiceManager.getService("window")); 
    float windowAnimationScale = iwm.getAnimationScale(0); 
    float transitionAnimationScale = iwm.getAnimationScale(1); 
    float animatorDurationScale = iwm.getAnimationScale(2); 
} catch (RemoteException ignore) { } 

Для общих приложений, если только шкала длительности аниматора требуется, просто вызовите этот статический метод :

float animatorDurationScale = ValueAnimator.getDurationScale(); 
Смежные вопросы