Android ProgressBar Example
Hola continuamos aprendiendo cada día mas! En esta ocasión aprenderemos el uso del Widget ProgressBar que sera de utiliza en nuestras aplicaciones Android.
ProgressBar se utiliza para mostrar el progreso de una tarea. Por ejemplo, cuando se está subiendo o descargando algo de Internet, es mejor mostrar el progreso de la descarga / carga al usuario.
ProgressBar en Android es un indicador gráfico que muestra algunos avances. Muestra una barra que representa la finalización de la tarea. Normalmente el ProgresBar no muestra la cantidad de terminación en números. Si lo deseamos, podemos mostrarlo en el TextView (dado en el ejemplo).
En Android hay una clase llamada ProgressDialog que te permite crear barra de progreso. Para ello, es necesario instanciar un objeto de esta clase.
Descripción del Título
getmax ()Este método devuelve el valor máximo del progreso.
incrementprogressby (int diff)
Este método incrementa la barra de progreso por la diferencia de valor pasada como un parámetro.
setindeterminate (boolean indeterminate)
Este método establece el indicador de progreso como determinado o indeterminado.
setmax (int max)
Este método establece el valor máximo del diálogo de progreso.
setprogress (valor int)
Este método se utiliza para actualizar el diálogo de progreso con algún valor específico.
show(Context context, CharSequence title, CharSequence message)
Crear Nuevo Proyecto Android Studio (Aquí)
Para crear un proyecto ingresa al link y verifica los pasos hasta completarlos te sera de ayuda y poco a poco crearas aplicaciones Android.Interfaz Visual Android Studio
Ahora comenzaremos a crear nuestra aplicación para ello crearemos la interfaz de nuestra aplicación presentando un ejemplo claro para comenzar a entender nuestro Widget.Crearemos el diseño de nuestro ejemplo. Ubicaremos el ProgressBar.
Listo ahora lo arrastraremos hasta nuestra actividad. De la siguiente forma.
Teniendo listo esto tomaremos un TextView para mostrar el progreso de nuestra ProgressBar.
El diseño nos quedaría de la siguiente forma
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity">
<ProgressBar
android:id="@+id/progressBar1"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginLeft="23dp"
android:layout_marginTop="20dp"
android:indeterminate="false"
android:max="100"
android:minHeight="50dp"
android:minWidth="200dp"
android:progress="1" />
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/progressBar1"
android:layout_below="@+id/progressBar1"/>
</RelativeLayout>
Código MaintActivity
Ahora comenzaremos a desarrollar el código de nuestra aplicación en la clase MainActivity explicare los pasos para entender bien como va este ejemplo.
//--Declaramos las variables que utilizaremos para nuestros controles
private ProgressBar prgBar;
//--Variable que llevara el progreso de nuestra barra
private int prgStatus = 0;
//--Variables para nuestros controles
private TextView textView;
//--Hilo en segundo plano
private Handler handler = new Handler();
Handler
Un Handler le permite comunicarse de nuevo con el hilo de interfaz de usuario de otro hilo de fondo. Esto es útil en Android, ya que Android no permite que otros hilos se comuniquen directamente con el hilo de la interfaz de usuario. Handler puede enviar y procesar objetos Message y Runnable asociados con MessageQueue de un subproceso. Cada instancia de Handler está asociada con un solo subproceso y la cola de mensajes de dicho subproceso. Cuando se crea un nuevo controlador, está enlazado a la fila / cola de mensajes del subproceso que lo está creando.
Tenemos claro lo que es el Handler que mas adelante se mostrara como va, ahora seguiremos con la siguiente parte de nuestro código.
//--Asignamos las propiedades de nuestros controles
prgBar = (ProgressBar) findViewById(R.id.progressBar1);
textView = (TextView) findViewById(R.id.textView1);
//--Inicie una operación de ejecución larga en un subproceso de fondo
new Thread(new Runnable() {
public void run() {
//--Ciclo para cumplir la condicion a la que tiene que llegar la barra
while (prgStatus < 100) {
//--Contador que aumenta en cada vuelta del ciclo
prgStatus += 1;
//--Actualiza la barra de progreso y muestra
//--Valor actual en la vista de texto
handler.post(new Runnable() {
public void run() {
prgBar.setProgress(prgStatus);
textView.setText(prgStatus+"/"+prgBar.getMax());
}
});
try {
//--Detener durante 200 milisegundos.
//--Sólo para mostrar el progreso lentamente
Thread.sleep(200);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}).start();
Con esto quedaría claro nuestro código que ejecutaremos.Crear emulador AVD (Aquí)
Para crear el emulador en Android Studio visita la siguiente entrada y una vez teniéndolo listo podremos ejecutar nuestra aplicación y ver el resultado.
Ejecutar Aplicación Android Studio ProgressBar
Bueno el resultado de nuestra aplicación seria el siguiente.
Y este seria el resultado de nuestra aplicación.
Descargar.
Espero el contenido haya sido de tu agrado cualquier duda déjame tu comentario y con gusto te responderé. Gracias por tu tiempo. Si aprendiendo cada día mas.
Descargar.
Espero el contenido haya sido de tu agrado cualquier duda déjame tu comentario y con gusto te responderé. Gracias por tu tiempo. Si aprendiendo cada día mas.
“Nunca confies en un ordenador que no puedas tirar por la ventana”
- Steve Wozniak
- Steve Wozniak
No hay comentarios:
Publicar un comentario