Ingenieros de Sistemas

Ingenieros de Sistemas
Innovando

jueves, 18 de diciembre de 2014

Progress Bar

Definición
java.lang.Object
    android.view.View
    android.widget.ProgressBar

Es una simple barra de progreso animada, una barra de progreso es un elemento de control gráfico utilizado para visualizar la progresión de una operación de equipo extendida, tales como descarga, transferencia de archivos, o la instalación. A veces, el gráfico se acompaña de una representación textual de los progresos en un formato por ciento.

Característica
  • Influyen en la percepción de la duración de los seres humanos
  • Normalmente el ProgressBar no muestran la cantidad de finalización en los números. Si queremos, podemos mostrarlo en el TextView.
  •  Por defecto, el valor de la barra máximo progreso es de 100. También se puede cambiar estableciendo el nuestro propio valor máximo usando atributo Android
Ejemplo Práctico

 El ejemplo de código siguiente se muestra cómo una barra de progreso se puede  utilizar para indicar el proceso de una simulación de descarga:

package com.example.btn_progressbar;
import android.support.v7.app.ActionBarActivity;
…I mport android.widget.ProgressBar;
    public class MainActivity extends Activity implements OnClickListener {
     ProgressBar pb;
     Button bt1;
     int progressStatus = 0;
     private TextView tv1;
     private Handler handler = new Handler();
     @Override
     protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
      pb = (ProgressBar) findViewById(R.id.progressBar1);
      bt1 = (Button) findViewById(R.id.button1);
      tv1 = (TextView) findViewById(R.id.textView2);
      bt1.setOnClickListener(this);       }
     @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        int id = item.getItemId();
        if (id == R.id.action_settings) {
            return true;        }
        return super.onOptionsItemSelected(item);    }
            @Override
            public void onClick(View v) {
                        // TODO Auto-generated method stub
                        switch(v.getId()){
                        //Boton Cuadrado
                        case R.id.button1 : {  new Thread(new Runnable() {
                     public void run() {
                         //Mientras que el progreso sea menor a 100
                        while (progressStatus < 100) {
                           progressStatus += 1;
                    handler.post(new Runnable() {
                    public void run() {
                        pb.setProgress(progressStatus);
                       
                                   //Mostrar en el textview el numero de carga sobre el total
                       tv1.setText(progressStatus+"/"+pb.getMax());
                    }});
               
                        try {
                       // Sleep for 200 milliseconds.
                                     //Just to display the progress slowly
                       Thread.sleep(200);
                    } catch (InterruptedException e) {
                       e.printStackTrace();
                       throw new RuntimeException(e);
                    }
                        }}}).start();
                        }                     
                        }}}

Para agregar una barra de progreso en un archivo de diseño, puede utilizar el <ProgressBar> elemento., así:


<LinearLayout 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"
    tools:context=".MainActivity"
    android:orientation="vertical"
    android:gravity="center"
    >

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Ejemplo: Visualizar el progreso de una descarga con ProgressBar" />

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Descargar musica" />

    <ProgressBar
        android:id="@+id/progressBar1"
        style="?android:attr/progressBarStyleHorizontal"
       android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:indeterminate="false"
        android:max="100"
        android:minHeight="50dp"
        android:minWidth="200dp"
        android:progress="1" />

    <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
         android:text="" />
   
</LinearLayout>

El resultado es el siguiente :




Vídeo de la Aplicación



      Descargar la Aplicación 


No hay comentarios:

Publicar un comentario