Hoy hablaremos sobre las ProgressBar y si se preguntan... que madres es una progressbar. Pues las clasicas barritas que aparecen cuando estamos instalando, esperando que cargue alguna aplicacion.
En android nos facilitaron mucho las cosas la verdad , tenemos la que es por default "Round shape" que es una progress bar de forma circular.
Ok, entramos a nuestro Eclipse y creemos nuestro nuevo proyecto, abrimos el archivo main.xlm y en este archivo lo que vamos a poner es la indicación de nuestra progress bar utilizando la siguiente linea de código.
Cita:
Oye asi de facil? <ProgressBar
android:id="@+id/progressbar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
android:id="@+id/progressbar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
Si corremos nuestro proyecto esto seria lo que nos saldrá
Si nos fijamos tendremos nuestro progressbar tipo "Round Shape" como si fuera un gif...
Tenemos otro tipo de progressbar que es la mas usada normalmente. La progressbar "Style Horizontal".
Para usar este tipo de ProgressBar de la misma manera en nuestro main.xlm debemos incluir estas lineas de código
Cita:
Si nos fijamos un poco en nuestro código aquí le estamos indicando a nuestro proyecto que vamos a tener un valor máximo y también el progreso de donde se encuentra nuestra barra que sera a la mitad.<ProgressBar
android:id="@+id/progressbar"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
style="?android:attr/progressBarStyleHorizontal"
android:max="100"
android:progress="50"
/>
android:id="@+id/progressbar"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
style="?android:attr/progressBarStyleHorizontal"
android:max="100"
android:progress="50"
/>
Nuestro proyecto tendrá una forma parecida a esta.
No se mueveee!!!! claro que no por que aun nos falta agregar unas cosas ya sabia!! (Hablo conmigo mismo )
Si recordamos agregamos una instrucción que es el android:progress aquí podemos ir modificando el estatus de nuestro progressbar para iniciar lo dejaremos en 0.
Primero carguemos nuestra librería para manejos de progressbar en nuestro archivo *.java
Cita:
Y librerías auxiliares para correr unas rutinasimport android.widget.ProgressBar;
Cita:
Lo que vamos a hacer es agregar un botón y animar nuestro progressbar con el uso del systemclock.import android.app.Activity;
import android.os.AsyncTask;
import android.os.Bundle;
import android.os.SystemClock;
import android.view.View;
import android.widget.Button;
import android.os.AsyncTask;
import android.os.Bundle;
import android.os.SystemClock;
import android.view.View;
import android.widget.Button;
Nuestro código final tendrá una forma parecida a esta.
Código Javascript:
Ver original
public class AndroidProgressBar extends Activity { Button buttonStart; ProgressBar progressBar; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); buttonStart = (Button)findViewById(R.id.start); progressBar = (ProgressBar)findViewById(R.id.progressbar); buttonStart.setOnClickListener(new Button.OnClickListener(){ @Override public void onClick(View arg0) { // TODO Auto-generated method stub buttonStart.setClickable(false); new asyncTaskUpdateProgress().execute(); } }); } public class asyncTaskUpdateProgress extends AsyncTask<Void, Integer, Void> { int progress; @Override protected void onPostExecute(Void result) { // TODO Auto-generated method stub buttonStart.setClickable(true); } @Override protected void onPreExecute() { // TODO Auto-generated method stub progress = 0; } @Override protected void onProgressUpdate(Integer... values) { // TODO Auto-generated method stub progressBar.setProgress(values[0]); } @Override protected Void doInBackground(Void... arg0) { // TODO Auto-generated method stub while(progress<100){ progress++; publishProgress(progress); SystemClock.sleep(100); } return null; } } }
Si corremos nuestro proyecto tendremos nuestra barra animada no les muestro la imagen por que no se va a ver animada ademas de que me da flojera hacer gif's jajaja
Bueno espero les funcione cualquier duda o sugerencias ya saben escriban algo el que no escriba no merece copiar el código y presumir al rato que "hace aplicaciones android"