Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Android Coverflow problema en 4.0.3 Samsung Galaxy S2

Estoy utilizando android coverflow, y funciona bien en la mayoría de los dispositivos, pero parece que en Android 4.0.3 no poner la imagen central de nuevo al centro una vez que se deslice hacia adelante y hacia atrás.

Permanecen "atascados" y bajo el ángulo equivocado.

¿Alguien tuvo problemas similares? ¿Qué podría causar este comportamiento?

Por lo tanto, la imagen central de la imagen adjunta debe estar centrada y no estar en ángulo tal cual.

Problema de CowerFlow

3 Solutions collect form web for “Android Coverflow problema en 4.0.3 Samsung Galaxy S2”

Acabo de agregar

child.invalidate() 

antes de

 final int childCenter = getCenterOfView(child); in getChildStaticTransformation(View child, Transformation t) 

Por lo que se convierte

 protected boolean getChildStaticTransformation(View child, Transformation t) { child.invalidate(); final int childCenter = getCenterOfView(child); final int childWidth = child.getWidth(); int rotationAngle = 0; 

¿Está utilizando Neil Davies Coverflow Widget V2?

Si es así, descubrí el problema. Si no, lo siento, no puedo ayudarte.

El problema está en la función getCenterOfView. Más exacto, es un problema acerca de view.getLeft (). <- por favor dígame si alguien sabe por qué es diferente después de 4.0

El valor devuelto desde view.getLeft () es diferente en cada momento. Así que esto afectará a otra función getChildStaticTransformation, no puede encontrar que imageview es el centro.

Mi solución, una solución sucia, es dar un rango para que pueda detectar su centro.

 if (childCenter <= mCoveflowCenter + 125 && childCenter >= mCoveflowCenter - 125) { transformImageBitmap((ImageView) child, t, 0); } 

Por favor, hágamelo saber si alguien tiene una solución mejor en esto.

Resolví seguir este código

 private int offsetChildrenLeftAndRight() { int offset = 0; for (int i = getChildCount() - 1; i >= 0; i--) { getChildAt(i).offsetLeftAndRight(offset); if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.JELLY_BEAN) getChildAt(i).invalidate(); } return offset; } final int childCenter = getCenterOfView(child) + offsetChildrenLeftAndRight(); 
    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.