AnimateLayoutChanges a true hace que el diseño se mueva hacia arriba y hacia abajo en android

Estoy arrastrando elementos de un HorizontalScrollView a otro HorizontalScrollView.

Cuando se cae, estoy eliminando la vista desde HorizontalScrollView inferior y agregándola a la HorizontalScrollView superior. Estoy animando los cambios estableciendo el xml android:animateLayoutChanges="true"

Los cambios están siendo animados, ese no es el problema. El problema es que cada vez que se activan esas animaciones, la disposición se mueve hacia arriba y hacia abajo. Cuando arrastre un elemento que sube y en otro arrastre se va hacia abajo. Y se repite para todos los arrastres consecuentes.

Aquí hay un video que muestra el problema: https://sendvid.com/uqnnwc4v

Mi XMl es esta:

 <RelativeLayout android:layout_width="match_parent" android:layout_height="320dp"> <include layout="@layout/content_package_description_horizontal_view"/> ........ </RelativeLayout> .......... .......... .......... <HorizontalScrollView android:layout_width="match_parent" android:layout_height="wrap_content" android:scrollbars="none" android:scrollbarSize="0dp"> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal" android:animateLayoutChanges="false"> <!-- Package list --> <include layout="@layout/service_single_hero"/> <include layout="@layout/service_single_hero"/> <include layout="@layout/service_single_hero"/> <include layout="@layout/service_single_hero"/> <include layout="@layout/service_single_hero"/> <include layout="@layout/service_single_hero"/> <include layout="@layout/service_single_hero"/> <include layout="@layout/service_single_hero"/> <include layout="@layout/service_single_hero"/> <include layout="@layout/service_single_hero"/> <include layout="@layout/service_single_hero"/> <include layout="@layout/service_single_hero"/> <include layout="@layout/service_single_hero"/> <include layout="@layout/service_single_hero"/> </LinearLayout> </HorizontalScrollView> 

Y estoy agregando a la HorizontalScrollView superior como este

 // Adding to Horizontal view FrameLayout thisHorizontalBigItem = (FrameLayout) getLayoutInflater().inflate( R.layout.package_description_horizontal_item_big, null, false); TextView thisHorizontalBigTextView = (TextView) thisHorizontalBigItem.findViewById( R.id.selected_service_item_big_text_view); thisHorizontalBigTextView.setText("ID : " + itemID); horizontalItemsContainer.addView(thisHorizontalBigItem, 0); 

Eliminar desde la parte inferior HorizontalScrollView como este:

 // Remove the selected service from bottom list try { for (int i = 0; i < servicesItemsContainer.getChildCount(); i++) { View thisServiceItem = servicesItemsContainer.getChildAt(i); JSONObject thisItemJSON = new JSONObject(thisServiceItem.getTag().toString()); if (thisItemJSON.getInt("id") == itemID) { servicesItemsContainer.removeView(thisServiceItem); } } } catch (JSONException e) { e.printStackTrace(); } 

Por favor, dime qué hay de malo aquí?

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.