¿La duración especificada en una animación definida por XML es realmente en milisegundos?

Estoy utilizando la última versión de la biblioteca de soporte para permitir el uso de Fragmentos en dispositivos que ejecutan versiones de Android <3.0. Cada vez que quiero cambiar el fragmento actual lo hago usando este código:

public void displayFragmentInMainView(Fragment f) { FragmentTransaction transaction = getSupportFragmentManager().beginTransaction(); transaction.setCustomAnimations(R.anim.slide_in_right, R.anim.slide_out_left, android.R.anim.slide_in_left, android.R.anim.slide_out_right); transaction.replace(R.id.fragment_holder, f); transaction.commit(); } 

Aquí está el XML que define una de las animaciones de transición:

 <set xmlns:android="http://schemas.android.com/apk/res/android"> <translate android:fromXDelta="-50%p" android:toXDelta="0" android:duration="500"/> <alpha android:fromAlpha="0.0" android:toAlpha="1.0" android:duration="500" /> </set> 

Como se puede ver en el XML anterior, la duración de la animación se establece en 500. De acuerdo con los documentos del desarrollador, las unidades especificadas aquí son en ms (una medida de tiempo).

He notado a través de pruebas que la duración de la animación es diferente entre los dispositivos. ¿Por qué es este el caso, si estoy especificando un valor ms para la duración?

Estos son los dispositivos en los que he probado y los resultados (subjetivos):

HTC Legend : (teléfono de gama baja con una CPU lenta, Android 2.3.3) la animación es suave y dura exactamente el tiempo que me gustaría.

Samsung Galaxy S : (CPU de gama media, Android 2.1) la animación es un poco agitada y va más rápido que en la Leyenda

Emulador : (ejecutándose en un quad-core iMac, Android 4.0) la animación es muy rápido, a veces tan rápido que ni siquiera lo ves

Basado en esto, parece que la duración no se mide realmente en términos de ms sino que depende de la velocidad de la CPU. ¿Alguien más ha notado resultados similares? ¿Hay una manera de configurarlo de modo que la velocidad de la animación será uniforme a través de dispositivos como se esperaría después de leer los documentos?

One Solution collect form web for “¿La duración especificada en una animación definida por XML es realmente en milisegundos?”

Android define 3 recursos enteros

 android.R.integer.config_shortAnimTime android.R.integer.config_mediumAnimTime android.R.integer.config_longAnimTime 

que puede utilizar en código XML o Java.

  • El comportamiento de popBackStack () difiere después de la actualización de la biblioteca de soporte de 23.1.1 a 25.1.0
  • Google Play Services 9.2.0 clases perdidas
  • "Campo se puede convertir a una variable local" aparece al configurar el color de la barra de acción
  • Tablas de ActionBar con la biblioteca de soporte
  • No se puede construir el proyecto android porque ActionBarActivity no se puede resolver con un tipo
  • Error de la biblioteca de soporte técnico de Android 23.2.0 al establecer style = "@ style / Widget.AppCompat.Button.Colored"
  • ¿Cómo detectar anidadas fling detenido en CoordinatorLayout.Behavior?
  • Barra de herramientas android popupTheme vs theme
  • Problema de paisaje de hoja inferior
  • Eclipse import google-play-services_lib error de visualización en valores
  • ¿Debo reemplazar ActionBarActivity con AppCompatActivity?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.