Red de conocimiento informático - Conocimiento informático - Código de Android, tengo cinco, configuro un botón, ¿cómo hacer clic en el botón una vez para cambiar al siguiente?

Código de Android, tengo cinco, configuro un botón, ¿cómo hacer clic en el botón una vez para cambiar al siguiente?

El primero: usar el método de animación para implementar: (el código es engorroso)

Este tipo de distribución requiere: dos efectos de animación, un diseño y una clase principal para implementar. No entremos en detalles. eche un vistazo al código:

Clase pública IamgeTrActivity extiende la actividad {

/** Se llama cuando la actividad se crea por primera vez. */

ImageView pública imageView

Imagen públicaView imageView2

Animación pública Animación 1;

Animación pública Animación 2;

Texto público TextView;

juage booleano público = true

imágenes int públicas[]= new int[]{ r.drawable.icon, R.drawable.exprimment,

R.drawable.changer, R.drawable.dataline, r.drawable.prefification};

recuento de int público = 0;

Manejador público Handler = nuevo Handler();

ejecutable público Runnable = new Runnable(){

@Override

ejecutable público void(){

/ /TODO código auxiliar de método generado automáticamente

conjunto de animación conjunto de animación 1 = nuevo conjunto de animación (verdadero);

conjunto de animación conjunto de animación 2 = nuevo conjunto de animación (verdadero);

vista de imagen 2. establecer visibilidad(0);

TranslateAnimation ta = new TranslateAnimation(

Animación. Relativo a uno mismo, 0f, animación. Relativo a uno mismo,

-1f, animación relativa a uno mismo, 0f,

animación

ta.setDuration(2000);

p>

animación. conjunto 1. agregar animación(ta);

conjunto de animación 1. setfillafter(true);

ta = new TranslateAnimation(animation. relativo a uno mismo, 1.0 f,

relativo a uno mismo, 0f, animación.

0f, animación RELATIVE_TO_SELF, 0f);

ta.setDuration( 2000);

conjunto de animación. 2. agregar animación(ta);

conjunto de animación 2. setfillafter(true);

//iamgeView out imageView2 en .

vista de imagen. iniciar animación (conjunto de animación 1);

vista de imagen 2. iniciar animación (conjunto de animación 2); 5]);

recuento;

vista de imagen 2. setbackgroundresource(imágenes[recuento 5]); ));

If (juage)

handler.postDelayed(runnable, 6000);

Log.i(handler, handler);

}

};

@override

public void on create(Estado de instancia guardado del paquete){

super oncreate (. saveInstanceState);

setContentView(r . diseño . main);

imageView = (imageView)findViewById(r . id . imageView

vista de imagen 2); =(ImageView)findViewById(r . id . vista de imagen 2);

texto =(TextView)findViewById(r . id . texto

texto(string . valor); of(count));

//Ocultar iamgeView primero y luego mostrarlo.

vista de imagen 2. establecer visibilidad(4);

handler.postDelayed(runnable, 2000);

}

vacío público onPause() {

juage = false

super .en pausa();

}

}

Código de diseño:

android:orientation=vertical

Android:layout_width=fill_parent

android:layout_height=fill_parent

Android: id = @ id/rl gt;

android: id=@ id/imageView

Android: layout_width = fill_parent

Android: background=@drawable/icon

android:layout_below=@id/rl

Android: layout_height=120 dp/gt;

android: id=@ id/imageView2

Android: diseño_ancho = fill_parent

Android: fondo=@drawable/expriment

android: diseño_below=@ id/rl

Android: diseño_height=120DP/ gt;

android:id=@ id/text

Android:layout_ width = fill _ parent

Android:layout_height = wrap_content

Android: layout_below = @id/imageView/gt;

En segundo lugar, utilice ViewFlipper para implementar el carrusel de imágenes.

El sistema Android viene con un control de administración de varias páginas que puede cambiar automáticamente las subinterfaces:

Primero, debe agregar una vista a ViewFlipper.

(1) Importación estática: importe directamente en el archivo de diseño.

(2) Importación dinámica: método addView()

Métodos comunes de ViewPlipper:

SetInAnimation: establece la animación utilizada cuando la vista ingresa a la pantalla.

SetOutAnimation: Establece la animación utilizada cuando la vista sale de la pantalla.

ShowNext: Llame a esta función para mostrar la siguiente vista en ViewFlipper.

ShowPrevious: Llame a esta función para mostrar la vista anterior en ViewFlipper.

SetFlipInterval: establece el intervalo de tiempo para cambiar entre vistas.

StartFlipping comienza a cambiar todas las vistas usando el intervalo de tiempo establecido anteriormente y el cambio se repetirá.

Dejar de voltear: deja de cambiar de vista.

Dicho todo esto, ¿qué queremos conseguir hoy?

(1) Utilice ViewFlipper para implementar el carrusel de imágenes.

(2) ViewFlipper que admite el deslizamiento por gestos

Primero debemos preparar algunas imágenes: ponerlas en dibujables.

Crea dos animaciones: Crea una nueva carpeta en res y crea dos xmls en ella:

Left_inner:

Android: Duración =5000

android:desdeXDelta=100p

android:hastaXDelta=0/>

left_外:

android:desdeXDelta= 0

android:toXDelta=-100p

android:duration=5000/>

Archivo de diseño:

xmlns: tools=/ tools

Android: layout_width = match_parent

Android: layout_height=match_parent

Herramientas: contexto=. Actividad principal gt

android:id=@id/flipper

Android:layout_width = fill_parent

Android:layout_height = fill_parent /gt;

Categoría principal:

Clase pública MainActivity extiende Actividad {

Vista privada ViewFlipper flipper

privada int[]resId = { r.drawable.pc1, R .drawable.pc2, R.drawable.pc3, r.drawable.pc4};

@override

protected void onCreate (estado de instancia guardado del paquete){

super . oncreate(savedInstanceState);

setContentView(r . diseño . actividad _ main

flipper = (ver aleta)findViewById (r . id . aleta);

/*

*La forma de importar dinámicamente es agregar subvistas en ViewFlipper.

* */

for(int I = 0; i ltresId . length; i ) {

flipper add view(getImageView(resId[I] ));

}

/*

*Agrega efectos de animación a ViewFlipper.

* */

flipper.setInAnimation(this, r . anim . left _ in

flipper.setOutAnimation(this, r . anim . left); _ out);

flipper . setflipinterval(5000);

flipper comenzar a voltear(); getImageView(int resId){

Imagen ImageView = new ImageView(this);

imagen setbackgroundresource(resId);

Devolver imagen;

}

}

Entonces esto logra el efecto funcional de una encuesta de imágenes.

También podemos agregar efectos de clic y deslizamiento:

También necesitamos agregar dos efectos de deslizamiento a la derecha:

Right_inside:

android: fromXDelta=0

android: toXDelta=-100p

android: duración=2000/>

right_out:

android : fromXDelta=100p

android:toXDelta=0

android:duration=2000/>

Luego necesitamos agregar la clase principal (si no No quiero que la imagen se reproduzca automáticamente, solo quiero reproducir la imagen a través de gestos, entonces necesitas eliminar el "código que agrega efectos de animación a ViewFlipper"):

onTouchEvent público booleano (evento de evento de movimiento ){

//TODO código auxiliar de método generado automáticamente

switch (event.getAction()) {

Evento de movimiento del caso. action_down:

startX = event.getx();

Pausa;

Evento de moción de caso. ACTION_MOVE: //Determina si deslizar el dedo hacia la izquierda o hacia la derecha.

if(event . getx()-startX gt; 100) {

flipper.setInAnimation(this, r . anim . left _ in

); flipper.setOutAnimation(this, r . anim . left _ out);

flipper show anterior()

} else if(startX-event . getx() gt; 100 ) {

flipper.setInAnimation(esto, r . anim . derecha _ adentro

flipper.setOutAnimation (esto, r . anim . derecha _ afuera

);

flipper .show next();

}

Evento de movimiento del caso.

Action_Action:

Interrupción;

}

Devolver super.onTouchEvent(evento);

}

En De esta manera, usamos nuestro ViewFlipper para completar la función de sondeo de imágenes.

La aplicación Midnight Artifact proporciona chat interactivo de voz privado en tiempo real e intercambio secreto anónimo de intereses sexuales.