Red de conocimiento informático - Material del sitio web - Cómo cambiar la animación de actualización de pulltorefreshlistview

Cómo cambiar la animación de actualización de pulltorefreshlistview

Primero, defina el diseño de la animación de actualización

En el paquete interno en la biblioteca com.handmark.pulltorefresh.library

FlipLoadingLayout se usa para la actualización con flechas hacia arriba y hacia abajo al estilo iOS. animación

p>

RotateLoadingLayout se utiliza para la animación de rotación de imágenes al estilo de Android

****El mismo método de configuración es

1. getDefaultDrawableResId() 1. Primero modifique pull_to_refresh_header_vertical en la biblioteca.

xml, elimine el diseño del texto y centre el diseño de la imagen horizontalmente

>p>

android:id="@+id/fl_inner"

android.layout_width="fill_parent"

android:layout_height="wrap_content"

android:paddingBottom="@dimen/header_footer_top_bottom _padding"

android:paddingLeft="@dimen/header_footer_left_right_padding"

android: paddingRight="@dimen/header_footer_ left_right_padding"

android:paddingTop="@dimen/header_footer_top_bottom_padding" >

android.layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_gravity="center_horizontal"

android:id="@+id/pull_too_refresh_image"

android.ImageView AnimationDrawable.start();

}

// Lanzar actualización

@Override

protected void releaseToRefreshImpl() {

// NO-OP

}

// restablecer

@Override

protected void resetImpl() {

mHeaderImage.setVisibility(View.Visibility)setVisibility(View.VISIBLE);

mHeaderImage.clearAnimation();

}

}

3. Utilice TweenAnimLoadingLayout para reemplazar el diseño de actualización anterior

Encuentre la biblioteca proyecto com .handmark.pulltorefresh.library, busque PullToRefreshListView en el proyecto de biblioteca com.handmark.pulltorefresh.library.

Paquete de biblioteca, y descubrió que el diseño de encabezado y pie de página usa LoadingLayout, encontró el método de creación de diseño de encabezado y pie de página createLoadingLayout, ingresó el método createLoadingLayout y luego ingresó createLoadingLayout, encontró el lugar más original para crear un nuevo diseño de animación y cambió el valor predeterminado. RotateLoadingLayout Simplemente cámbielo a TweenAnimLoadingLayout

Bajo la clase PullToRefreshBase, se convierte

// Cree un nuevo diseño de animación en el lugar original y cámbielo a TweenAnimLoadingLayout en una línea

// Reemplace el nuevo diseño de animación con TweenAnimLoadingLayout en el lugar original

LoadingLayout createLoadingLayout(Context context, Mode mode, Orientation context, mode, scrollDirection, attrs);

return new TweenAnimLoadingLayout(contexto, modo, scrollDirection, atributos);

case FLIP:

Devuelve new FlipLoadingLayout(contexto, modo, scrollDirection, atributos);

}

}

4. Elimina el código relacionado con la vista de texto de LoadingLayout