Foros del Web » Programando para Internet » Android »

Juguemos con las ProgressBar Yayy!!!

Estas en el tema de Juguemos con las ProgressBar Yayy!!! en el foro de Android en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 22/07/2011, 13:05
Avatar de zero_master  
Fecha de Ingreso: junio-2011
Ubicación: Leon, Gto
Mensajes: 290
Antigüedad: 12 años, 9 meses
Puntos: 74
Juguemos con las ProgressBar Yayy!!!

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 original
  1. public class AndroidProgressBar extends Activity {
  2.  
  3.  Button buttonStart;
  4.  ProgressBar progressBar;
  5.  
  6.     /** Called when the activity is first created. */
  7.     @Override
  8.     public void onCreate(Bundle savedInstanceState) {
  9.         super.onCreate(savedInstanceState);
  10.         setContentView(R.layout.main);
  11.         buttonStart = (Button)findViewById(R.id.start);
  12.         progressBar = (ProgressBar)findViewById(R.id.progressbar);
  13.          
  14.         buttonStart.setOnClickListener(new Button.OnClickListener(){
  15.  
  16.    @Override
  17.    public void onClick(View arg0) {
  18.     // TODO Auto-generated method stub
  19.     buttonStart.setClickable(false);
  20.     new asyncTaskUpdateProgress().execute();
  21.    }
  22.          
  23.         });
  24.          
  25.     }
  26.      
  27.     public class asyncTaskUpdateProgress extends AsyncTask<Void, Integer, Void> {
  28.  
  29.      int progress;
  30.      
  31.   @Override
  32.   protected void onPostExecute(Void result) {
  33.    // TODO Auto-generated method stub
  34.    buttonStart.setClickable(true);
  35.   }
  36.  
  37.   @Override
  38.   protected void onPreExecute() {
  39.    // TODO Auto-generated method stub
  40.    progress = 0;
  41.   }
  42.  
  43.   @Override
  44.   protected void onProgressUpdate(Integer... values) {
  45.    // TODO Auto-generated method stub
  46.    progressBar.setProgress(values[0]);
  47.   }
  48.  
  49.   @Override
  50.   protected Void doInBackground(Void... arg0) {
  51.    // TODO Auto-generated method stub
  52.    while(progress<100){
  53.     progress++;
  54.     publishProgress(progress);
  55.     SystemClock.sleep(100);
  56.    }
  57.    return null;
  58.   }
  59.      
  60.     }
  61. }

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"
  #2 (permalink)  
Antiguo 07/10/2011, 16:50
 
Fecha de Ingreso: junio-2011
Mensajes: 11
Antigüedad: 12 años, 10 meses
Puntos: 3
Respuesta: Juguemos con las ProgressBar Yayy!!!

Hola amigo como aplicarias este metodo al recibir respuesta de sockets para llenarla,

ejemplo:

si el socket se conecta que avance hasta el 15% si recibe respuesto avance otro 40% yasi hasta llagr al 100% SALUDOS
  #3 (permalink)  
Antiguo 07/10/2011, 17:18
Avatar de zero_master  
Fecha de Ingreso: junio-2011
Ubicación: Leon, Gto
Mensajes: 290
Antigüedad: 12 años, 9 meses
Puntos: 74
Respuesta: Juguemos con las ProgressBar Yayy!!!

Saludos; mira si de antemano sabes cuando te llegaron esas notificaciones o sea si ya tienes tu esa dichosa funcion es mucho mas facil.

En el comando cuando utilizamos:
progressBar.setProgress(values[0]);

En ves de tener "values[0]" tu puedes poner como dices 15, 45 o 100.
No importa si usas ese comando en diferentes rutinas, te pongo un ejemplo no se
al iniciar tu aplicacion podrias decirle:
progressBar.setProgress(0);
Despues que sabes que se conecto pones:
progressBar.setProgress(15);
Ya finalizaste la tarea que querias agregarle el progress bar pones:
progressBar.setProgress(100);

Aunque si te quieres evitar problemas de estar mandando a llamarlo tantas veces mejor utiliza el primer tipo de progress que mencione el "Round Shape"
  #4 (permalink)  
Antiguo 10/10/2011, 09:52
 
Fecha de Ingreso: junio-2011
Mensajes: 11
Antigüedad: 12 años, 10 meses
Puntos: 3
Respuesta: Juguemos con las ProgressBar Yayy!!!

Código Javascript:
Ver original
  1. package com.mobil.time;
  2.  
  3. import java.io.DataInputStream;
  4. import java.io.DataOutputStream;
  5. import java.io.IOException;
  6. import java.net.Socket;
  7. import java.net.UnknownHostException;
  8.  
  9. import android.R.color;
  10. import android.R.string;
  11. import android.app.Activity;
  12. import android.app.Dialog;
  13. import android.app.ProgressDialog;
  14. import android.content.Context;
  15. import android.content.Intent;
  16. import android.os.Bundle;
  17. import android.os.Handler;
  18. import android.os.Message;
  19. import android.telephony.TelephonyManager;
  20. import android.util.Log;
  21. import android.view.View;
  22. import android.widget.Button;
  23. import android.widget.EditText;
  24. import android.widget.ImageView;
  25. import android.widget.ProgressBar;
  26. import android.widget.TextView;
  27.  
  28. public class CambiarNIP extends Activity {
  29.  
  30.     EditText getInput, getInput2, getInput3;
  31.     TextView haduken, haduken2;
  32.     ProgressThread progThread;
  33.     ProgressDialog progDialog;
  34.     int typeBar;                
  35.     int delay = 40;                  
  36.     int maxBarValue =0;
  37.  
  38.     protected void onCreate(Bundle savedInstanceState) {
  39.  
  40.         super.onCreate(savedInstanceState);
  41.         setContentView(R.layout.cambiar_nip);
  42.  
  43.         getInput = (EditText) findViewById(R.id.txtNiPactual);
  44.         getInput2 = (EditText) findViewById(R.id.txtNIPnuevo);
  45.         getInput3 = (EditText) findViewById(R.id.txtNIPconfirmar);
  46.         Button boton = (Button) findViewById(R.id.BcambioNIP);
  47.         haduken = (TextView) findViewById(R.id.txttodo);
  48.         haduken2 = (TextView) findViewById(R.id.txtconexion);
  49.  
  50.         boton.setOnClickListener(new View.OnClickListener() {
  51.  
  52.             String a, b, c;
  53.  
  54.             @Override
  55.             public void onClick(View v) {
  56.  
  57.                  
  58.                    
  59.                 TelephonyManager telephonyManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
  60.                 String imei = telephonyManager.getDeviceId();
  61.                 String d = imei;
  62.                 String a = getInput.getText().toString();
  63.                 String b = getInput2.getText().toString();
  64.                 String c = getInput3.getText().toString();
  65.  
  66.                 if (a.length()<=4 || b.length()<=4 || c.length()<=4) {
  67.  
  68.                     haduken.setText("Campos Incompletos o Vacios");
  69.  
  70.                 } else {
  71.                     if (b.equals(c)) {
  72.  
  73.                         typeBar = 1;
  74.                         showDialog(typeBar);
  75.                          
  76.                         Socket socket = null;
  77.                         DataOutputStream dataOutputStream = null;
  78.                         DataInputStream dataInputStream = null;
  79.                         try {
  80.                             socket = new Socket("10.0.2.2", 4445);
  81.  
  82.                             haduken.setText("30\n" + a + "\n" + b + "\n" + c
  83.                                     + "\n" + d);
  84.  
  85.                         } catch (UnknownHostException e) {
  86.                             // TODO Auto-generated catch block
  87.                             e.printStackTrace();
  88.                         } catch (IOException e) {
  89.                             // TODO Auto-generated catch block
  90.                             e.printStackTrace();
  91.                         }
  92.                     } else {
  93.  
  94.                         haduken.setText("El NIP no coincide");
  95.  
  96.                     }
  97.                 }
  98.             }
  99.  
  100.         });
  101.     } @Override
  102.     protected Dialog onCreateDialog(int id) {
  103.         switch(id) {
  104.             case 1:                    
  105.             progDialog = new ProgressDialog(this);
  106.             progDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
  107.             progDialog.setMax(maxBarValue);
  108.             progDialog.setMessage("Enviando datos porfavor ESPERE !!!:");
  109.             progThread = new ProgressThread(handler);
  110.             progThread.start();
  111.             return progDialog;
  112.         default:
  113.             return null;
  114.         }
  115.     }
  116.    
  117.     final Handler handler = new Handler() {
  118.         public void handleMessage(Message msg) {
  119.             int total = msg.getData().getInt("total");
  120.             progDialog.setProgress(total);
  121.             if (total >= 100){
  122.                 dismissDialog(typeBar);
  123.                 progThread.setState(ProgressThread.DONE);
  124.             }
  125.         }
  126.     };
  127.    
  128. private class ProgressThread extends Thread {  
  129.        
  130.        
  131.         final static int DONE = 0;
  132.         final static int RUNNING = 1;
  133.        
  134.         Handler mHandler;
  135.         int mState;
  136.         int total;
  137.    
  138.        
  139.         ProgressThread(Handler h) {
  140.             mHandler = h;
  141.         }
  142.        
  143.        
  144.         @Override
  145.         public void run() {
  146.             mState = RUNNING;  
  147.             total = maxBarValue;
  148.             while (mState == RUNNING) {
  149.                
  150.                 try {
  151.                    
  152.                     Thread.sleep(delay);
  153.                 } catch (InterruptedException e) {
  154.                     Log.e("ERROR", "El proceso fue interrumpido");
  155.                 }
  156.                
  157.                 Message msg = mHandler.obtainMessage();
  158.                 Bundle b = new Bundle();
  159.                 b.putInt("total", total);
  160.                 msg.setData(b);
  161.                 mHandler.sendMessage(msg);
  162.                
  163.                
  164.                 total++;  
  165.             }
  166.         }
  167.        
  168.      
  169.         public void setState(int state) {
  170.             mState = state;
  171.         }
  172. }
  173. }

Código Javascript:
Ver original
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3.     android:orientation="vertical" android:layout_width="match_parent"
  4.     android:layout_height="match_parent" android:background="@drawable/androide"
  5.     android:weightSum="1">
  6.     <TextView android:gravity="center" android:text="Cambio NIP"
  7.         android:id="@+id/textView2" android:layout_height="wrap_content"
  8.         android:textAppearance="?android:attr/textAppearanceLarge"
  9.         android:layout_width="match_parent"></TextView>
  10.     <TextView android:id="@+id/textView6" android:textAppearance="?android:attr/textAppearanceLarge"
  11.         android:layout_width="wrap_content" android:layout_height="wrap_content"
  12.         android:text=" "></TextView>
  13.     <TextView android:layout_gravity="center" android:text="NIP Actual:"
  14.         android:layout_width="wrap_content" android:id="@+id/textView1"
  15.         android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceMedium"></TextView>
  16.     <EditText android:layout_gravity="center"
  17.         android:layout_height="wrap_content" android:inputType="phone"
  18.         android:layout_width="149dp" android:maxLength="5" android:id="@+id/txtNiPactual">
  19.         <requestFocus></requestFocus>
  20.     </EditText>
  21.     <TextView android:layout_gravity="center" android:text="NIP Nuevo:"
  22.         android:layout_width="wrap_content" android:id="@+id/textView3"
  23.         android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceMedium"></TextView>
  24.     <EditText android:layout_gravity="center"
  25.         android:layout_height="wrap_content" android:inputType="phone"
  26.         android:layout_width="149dp" android:maxLength="5" android:id="@+id/txtNIPnuevo"></EditText>
  27.     <TextView android:layout_gravity="center" android:text="Confirmar NIP Nuevo:"
  28.         android:layout_width="wrap_content" android:id="@+id/textView4"
  29.         android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceMedium"></TextView>
  30.     <EditText android:layout_gravity="center" android:inputType="phone"
  31.         android:layout_height="wrap_content" android:layout_width="149dp"
  32.         android:maxLength="5" android:id="@+id/txtNIPconfirmar"></EditText>
  33.     <Button android:layout_gravity="center" android:text="Aceptar"
  34.         android:layout_width="88dp" android:layout_height="wrap_content"
  35.         android:id="@+id/BcambioNIP"></Button>
  36.     <TextView android:id="@+id/txttodo" android:layout_height="wrap_content"
  37.         android:text=" " android:layout_width="match_parent"
  38.         android:layout_gravity="center" android:textAppearance="?android:attr/textAppearanceLarge"
  39.         android:gravity="center"></TextView>
  40.  
  41.     <TextView android:layout_gravity="center" android:gravity="center"
  42.         android:layout_width="308dp" android:layout_weight="0.33"
  43.         android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceLarge"
  44.         android:id="@+id/txtconectado"></TextView>
  45.     <TextView android:text=" " android:layout_height="wrap_content"
  46.         android:textAppearance="?android:attr/textAppearanceLarge"
  47.         android:layout_gravity="center" android:layout_width="249dp"
  48.         android:gravity="center" android:id="@+id/txtconexion"></TextView>
  49.     <TextView android:textAppearance="?android:attr/textAppearanceSmall"
  50.         android:id="@+id/textView9" android:layout_width="wrap_content"
  51.         android:layout_height="wrap_content" android:text=" "></TextView>
  52.     <TextView android:textAppearance="?android:attr/textAppearanceLarge"
  53.         android:id="@+id/textView8" android:layout_width="wrap_content"
  54.         android:layout_height="wrap_content" android:text=" "></TextView>
  55.  
  56. </LinearLayout>


AQUI ENCAPSULO MI CODIGO POR SI LE SIRVE A ALGIEN =)


muchas gracias por la respuesta amigo
  #5 (permalink)  
Antiguo 10/10/2011, 14:56
Avatar de javih  
Fecha de Ingreso: agosto-2011
Mensajes: 201
Antigüedad: 12 años, 8 meses
Puntos: 12
Respuesta: Juguemos con las ProgressBar Yayy!!!

Gracias, le voy a echar un vistazo, tengo que hacer algo parecido con un socket.

Saludos
  #6 (permalink)  
Antiguo 14/10/2011, 11:04
Avatar de javih  
Fecha de Ingreso: agosto-2011
Mensajes: 201
Antigüedad: 12 años, 8 meses
Puntos: 12
Respuesta: Juguemos con las ProgressBar Yayy!!!

Hola,

Me gustó como funciona el de sor1ak, pero al final estoy utilizando el de zeromaster pero tengo una duda a ver si me pueden orientar un poco, estoy utilizadno .setProgress(int) para ir marcando el progreso y funciona bien pero resulta que el botón se queda bloqueado porque no he añadido un thread para esa función y entonces a ver si me pueden orientar un poco en como hacerlo porque así no se aprecia el progressBar, después de clicar el botón, éste se queda naranja (seleccionado) hasta que envía la imagen y después de enviar la imagen lo 'suelta' y es aquí cuando comienza a trabajar el progressBar pero claro a tanta velociad que no se aprecia y necesitaría añadir un asyncTask o algo así pero no sé si añadirlo en la Activity o en la Clase que tengo para ese método de enviar, me explico:

Tengo una Actividad y una Clase, MainActivity y una Clase Java convencional.

En la Clase Java tengo un método booleano que utilizo para enviar la imagen:

Código:
public boolean imagen() throws Exception  {
Y en la Actividad, MainActivity llamo a ese método así para que envíe la imagen y me devuelva true en caso de enviar satisfactoriamente o false por si hay algún error así:

Cita:
progressBar.setProgress(30);

try {
imagen.adjuntarImagen(fileImagen);

progressBar.setProgress(40);

if (imagen.enviar()) {
progressBar.setProgress(100);

Log.d(logTag, "Imagen enviada ");

(los otros .setProgress(int) que comprenden del 40 al 100 están dentro del método imagen() de la Clase java).

Mi pregunta es sí sería mejor (y si se puede) crear el thread desde la Activity? o crearlo en la Clase java, estoy perdido con esto, culquier sugerencia se agradece.


Saludos

Última edición por javih; 14/10/2011 a las 11:09
  #7 (permalink)  
Antiguo 14/10/2011, 12:41
Avatar de zero_master  
Fecha de Ingreso: junio-2011
Ubicación: Leon, Gto
Mensajes: 290
Antigüedad: 12 años, 9 meses
Puntos: 74
Respuesta: Juguemos con las ProgressBar Yayy!!!

Depende mucho de tu codigo, lo probaste en un celular o en algun lado? casi siempre en el emulador corre de manera mas lenta o puede que tu class java te este generando "lag" por asi decirlo, a mi me pasa en una aplicacion de procesamiento de imagenes, mientras le di el boton se queda de color naranja hasta que termine la funcion regresa a su estado normal talvez podrias agregarle al hacer click a tu boton este desaparesca con VISIBILITY.GONE
  #8 (permalink)  
Antiguo 14/10/2011, 13:45
Avatar de javih  
Fecha de Ingreso: agosto-2011
Mensajes: 201
Antigüedad: 12 años, 8 meses
Puntos: 12
Respuesta: Juguemos con las ProgressBar Yayy!!!

Gracias por la respuesta,

De momento no me interesa hacer invisible el botón, pero haré eso que comentas, porque solo lo estoy probando en el emulador, voy a probarlo en un teléfono a ver que ocurre y comento. Aunque me da que va a ocurrir lo mismo.

Saludos
  #9 (permalink)  
Antiguo 14/10/2011, 17:45
Avatar de javih  
Fecha de Ingreso: agosto-2011
Mensajes: 201
Antigüedad: 12 años, 8 meses
Puntos: 12
Respuesta: Juguemos con las ProgressBar Yayy!!!

Pues no zero_master no ha habido suerte, lo probé con un Samsung Galaxy con Froyo 2.2 pero la barra de progreso no se ve, porque mientras está enviando el botón se queda seleccionado y hasta que no finaliza el envío no lo suelta y luego es cuando comienza la barra de progreso, pero es tan rápido que ni se ve, pero la barra si que funciona porque depurando ya lo he visto y queda chula.

Vamos que tengo que manejarlo en un hilo sí o sí.

Pero ahora tengo un lío en haccer runnable esa clase, no sé si podré hacerlo desde la activity o extender la Clase de un Thread.

Tampoco estoy seguro si usar un Thread como en JavaSE o emplear un AsyncTask o un Service de Android.

¿Qué me vendría mejor?

Saludos
  #10 (permalink)  
Antiguo 15/10/2011, 16:10
Avatar de javih  
Fecha de Ingreso: agosto-2011
Mensajes: 201
Antigüedad: 12 años, 8 meses
Puntos: 12
Respuesta: Juguemos con las ProgressBar Yayy!!!

Hola,

Utilicé un thread y ha funcionado muy bien, ahora al pulsar el botón no se queda bloqueado y la barra hace su trabajo perfectamente.

Solo tengo un problema y es que al pulsar el botón la primera vez no ocurre nada, tengo que volver a pulsar para que comience a trabajar, ya luego después de esto cada vez que pulso el botón funciona todo, pero siempre que inicio la aplicación la primera vez que pulso el botón no funciona nada.

¿Esto por qué puede ser?

Saludos
  #11 (permalink)  
Antiguo 15/10/2011, 17:13
Avatar de javih  
Fecha de Ingreso: agosto-2011
Mensajes: 201
Antigüedad: 12 años, 8 meses
Puntos: 12
Respuesta: Juguemos con las ProgressBar Yayy!!!

he visto que lanza una excepción, cuando el progressbar llega a 100 y lo hace después de que le llegue un booleano a true desde otra clase y es entonces cuando muestra la barra al completo (100) luego imprime en el logcat "Envío realizado con éxito", a continuación debería de mostrar un Toast notificando al usuario que el envío se realizó con éxito pero es ahí cuando lanza esta excepción, pero no por el toast, el toast está bien construido, de hecho funcionaba antes de añadir el Thread.

esta es la excepción:


Cita:
10-15 17:18:09.812: DEBUG/appDemo(404): El Thread ha tenido problemas durante su ejecución: java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()
¿tengo que crear un handler?

Saludos

PD: y esta es la excepción cuando pulso por primera vez el botón después de arrancar la aplciación:
10-15 17:22:19.702: DEBUG/appDemo(439): El Trhead ha tenido problemas durante su ejecución: android.view.ViewRoot$CalledFromWrongThreadExcepti on: Only the original thread that created a view hierarchy can touch its views.

Última edición por javih; 15/10/2011 a las 17:35
  #12 (permalink)  
Antiguo 15/10/2011, 20:08
Avatar de javih  
Fecha de Ingreso: agosto-2011
Mensajes: 201
Antigüedad: 12 años, 8 meses
Puntos: 12
Respuesta: Juguemos con las ProgressBar Yayy!!!

nada ya lo comprendrí, disculpen todo el rollo.

al final he usado ese mismo asyntask y eliminado el thread y metido todo en código en doinbackground y el toast en post y funciona todo bien.

gracias y saludos
  #13 (permalink)  
Antiguo 16/10/2011, 11:56
Avatar de javih  
Fecha de Ingreso: agosto-2011
Mensajes: 201
Antigüedad: 12 años, 8 meses
Puntos: 12
Respuesta: Juguemos con las ProgressBar Yayy!!!

Hola de nuevo,

Ahora cuando llega a 100 hago que el progressbar sea invisible, pero no se ve muy bien ese momento al que llega a 100, porque se hace invisible muy rápidamente
Código:
 progressBar.setProgress(100);
progressBar.setVisibility(View.INVISIBLE);
¿Qué podría hacer para que se espere un poco cuando se completa la barra, antes de hacerse invisible?

Otra pregunta, ¿qué podría hacer para que cuando llega a 100 (se completa la barra), aparezca un borde con opacidad (como un destello), algún efecto tipo fade o así para que quede más curiosa la barra. El borde lo podría hacer en el xml pero no se como aplicarle un efecto tipo fade.

Saludos
  #14 (permalink)  
Antiguo 16/10/2011, 20:47
Avatar de zero_master  
Fecha de Ingreso: junio-2011
Ubicación: Leon, Gto
Mensajes: 290
Antigüedad: 12 años, 9 meses
Puntos: 74
Respuesta: Juguemos con las ProgressBar Yayy!!!

Wooo solo me fui unos dias de viaje y ya vi todo lo que escribiste jejeje bueno pues que bueno que ya vas solucionando tu problema, el efecto que le quieres agregar no tengo conocimiento de una vez aclaro jeje puede que jugandole un poco al xml como dices, ademas para darle un poco de tiempo podrias usar el comando "SystemClock.sleep(100); " el valor 100 que puse esta en milisegundos entonces si quieres verlo mas o menos un segundo agrega SystemClock.sleep(1000);
Suerte seria bueno que mandaras unas capturas para ver como te va quedando
  #15 (permalink)  
Antiguo 21/10/2011, 13:07
 
Fecha de Ingreso: junio-2011
Mensajes: 11
Antigüedad: 12 años, 10 meses
Puntos: 3
Respuesta: Juguemos con las ProgressBar Yayy!!!

Cita:
Iniciado por javih Ver Mensaje
Hola de nuevo,

Ahora cuando llega a 100 hago que el progressbar sea invisible, pero no se ve muy bien ese momento al que llega a 100, porque se hace invisible muy rápidamente
Código:
 progressBar.setProgress(100);
progressBar.setVisibility(View.INVISIBLE);
¿Qué podría hacer para que se espere un poco cuando se completa la barra, antes de hacerse invisible?

Otra pregunta, ¿qué podría hacer para que cuando llega a 100 (se completa la barra), aparezca un borde con opacidad (como un destello), algún efecto tipo fade o así para que quede más curiosa la barra. El borde lo podría hacer en el xml pero no se como aplicarle un efecto tipo fade.

Saludos

no intentaste con un GONE
progressBar.setVisibility(View.GONE);

a caray yo tampoco me habia dado cuenta de toda l a informacion que se escribio aqui jejeje

Etiquetas: progressbar, aplicaciones
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 3 personas




La zona horaria es GMT -6. Ahora son las 06:19.