lista de animación con etiqueta de escala que no funciona en Marshmallow
Tengo una animación-lista xml anim_progress.xml
:
<?xml version="1.0" encoding="utf-8"?> <animation-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:duration="100"> <scale android:drawable="@drawable/frame_1" android:scaleGravity="center"/> </item> <item android:duration="100"> <scale android:drawable="@drawable/frame_2" android:scaleGravity="center"/> </item> <item android:duration="100"> <scale android:drawable="@drawable/frame_3" android:scaleGravity="center"/> </item> . . . </animation-list>
Utilizo etiqueta de scale
porque las imágenes frame_x.png
son más grandes que una vista de contenedor. La razón de esto es la capacidad de adaptarse a la mayoría de los tamaños de pantalla.
- Android: relleno de imagen
- ¿Cómo utilizo las opciones de accesibilidad para escalar las fuentes dentro de un WebView?
- ImageView: adjustViewBounds no funciona con layout_height = "fill_parent"?
- Proporcionalmente el tamaño de una vista de imagen en Android
- Android GridView 3 x 6 recorte de imágenes
Utilizo esta animación de cuadro como un indeterminateDrawable
de mi ProgressBar personalizado:
<ProgressBar android:layout_width="match_parent" android:layout_height="match_parent" android:indeterminateOnly="true" android:indeterminate="true" android:foregroundGravity="center" android:indeterminateDrawable="@drawable/anim_progress" />
Funciona bien en versiones de Android antes de Marshmallow. He comprobado emuladores y dispositivos. Pero en Marshmallow simplemente no muestra nada. Espacio vacío en blanco. Además del panel de vista previa en el Android Studio.
Si quito la etiqueta de scale
de la animation-list
, funciona bien en Marshmallow y se escala de la manera correcta, pero parece que se recorta en otras versiones de Android.
Sé que puedo hacer el archivo separado en la carpeta drawable-v23
, tuerca antes de que quería preguntar si alguien puede compartir otra técnica de escalado de la barra de progreso marco de animación dibujable en Marshmallow a través de xml.
- Android ImageView cómo adaptarse a la parte inferior izquierda, como setScaleType (ScaleType.FIT_END) ;, pero no se ajusta a la parte inferior derecha
- Android - Cómo cortar parte de la imagen y mostrarla en imageview
- ¿Cómo puedo hacer uso del punto de enfoque en Android ScaleGestureDetector para hacer zoom como el navegador Android?
- SetScaleType a ScaleType.MATRIX programaticamente no funciona pero en xml funciona
- Ajustar la imagen en ImageView, mantener la relación de aspecto y luego cambiar el tamaño de ImageView a las dimensiones de la imagen?
- La imagen local de Android que se muestra a través de la vista web está borrosa
- Android: ¿cómo detectar la ubicación del toque en ImageView si la vista de la imagen es escalada por matriz?
Me encontré con el mismo problema. No tengo ni idea de por qué no está funcionando en Marhmallow, pero el trabajo alrededor es utilizar rotar como intermediatDrawable y no una lista de animación.
Algo como esto:
<rotate xmlns:android="http://schemas.android.com/apk/res/android" android:duration="250" android:fromDegrees="359" android:toDegrees="0" android:pivotX="50%" android:pivotY="50%" android:repeatCount="infinite" android:interpolator="@android:anim/linear_interpolator" android:drawable="@drawable/icn_refresh"> </rotate>