Saludos gente, despues de estar unos dias desaparecidos en lo profundo de la selva de mi tierra natal Chiapas, Mexico; vuelvo a la tecnologia
si lo se la verdad si se extraña andar viendo porno digo viendo foros
... pues bueno.
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: <ProgressBar
android:id="@+id/progressbar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
Oye asi de facil?
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: <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"
/>
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.
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: import android.widget.ProgressBar;
Y librerías auxiliares para correr unas rutinas
Cita: import android.app.Activity;
import android.os.AsyncTask;
import android.os.Bundle;
import android.os.SystemClock;
import android.view.View;
import android.widget.Button;
Lo que vamos a hacer es agregar un botón y animar nuestro progressbar con el uso del systemclock.
Nuestro código final tendrá una forma parecida a esta.
Código Javascript
:
Ver originalpublic 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"