2009-04-01 14 views

Respuesta

23

Se explica en su totalidad en ApiDemos dentro del SDK. El ejemplo que desea se llama: ProgressBar3.java y se puede encontrar en \ ApiDemos \ src \ com \ example \ android \ apis \ view \

También, si desea eliminar los bordes del cuadro de diálogo para que solo aparece la barra de progreso, puede definir el cuadro de diálogo como una vista/superposición transparente (también se explica en los ejemplos).

3

@reflog: Eso no es lo que se necesita, supongo.

@lostInTransit:

La forma correcta para lograr esto es la siguiente:

  1. Crear ur propia de diálogo
  2. Put barra de progreso, ya que sólo en la vista
  3. Establecer fondo de la ventana de diálogo de diálogo transparente
  4. Muestra el cuadro de diálogo.

Eso es todo. Funciona para mí en dispositivos con 1.5 a 2.1. No probado en 2.2.

-Yogesh

22

Si no necesita un diálogo, simplemente coloque la barra de progreso en su diseño como cualquier otro elemento de la vista, y establezca la visibilidad en 'INVISIBLE' o incluso 'GONE' por defecto.

Entonces simplemente muéstrelo cuando lo necesite al cambiarlo a 'VISIBLE' usando setVisibility en su código, y vuelva a ocultarlo cuando la tarea se haga volviéndola 'INVISIBLE' o 'GONE'.

p. Ej.

MyTask { 

// get handle on ProgressBar ViewItem defined in XML (id:progressBar) 

ProgressBar progressBar = findViewById(R.id.progressBar); 


//starting task, show progress bar 

progressBar.setVisibility(View.VISIBLE); 


// Do some stuff... 


//task done, hide it again 

progressBar.setVisibility(View.GONE); 

} 

Ésta es una versión simple, todo hecho en el hilo de interfaz de usuario, pero esto debe ser fácil de adaptar, si está utilizando un asíncronos manipuladores de tareas o hilos. Simplemente muestre, oculte y publique las actualizaciones en el diálogo mientras está en el hilo de la interfaz de usuario, y realice su tarea de larga ejecución en segundo plano.

+0

Esto funciona para mí, gracias. = D 'imgname = (ImageView) v.findViewById (getResources(). GetIdentifier (" idimage "," id ", mContext.getPackageName()));' – Florida

2

La respuesta de @Jesse Finnerty resolvió mi problema. lo que hice fue:

private ProgressBar mprogressBar; 

El alcrear interior() al igual que otros botones y textviews lo hice, mprogressBar = (ProgressBar) findViewById (R.id.barra de progreso);

rueda Luego, al punto que quiero hacer girar a aparecer i dar comandos

mprogressBar.setVisibility(View.VISIBLE); 

en el punto donde quiero que desaparezca.

mprogressBar.setVisibility(View.INVISIBLE); 

Esto está bajo el interruptor en realidad. de modo que a medida que cambian los estados de mi programa, la barra de progreso aparece y desaparece

Cuestiones relacionadas