Herramientas Para el Desarrollo de Videojuegos y Lenguajes de Programación en Español
domingo, 29 de marzo de 2015
Dialogo de progreso 2 en Android Studio
main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<Button
android:id="@+id/btn_dialog"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Clic para mostrar dialogo"
android:onClick="onClick"
/>
<Button
android:id="@+id/btn_dialog2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Clic para mostrar la barra de progreso"
android:onClick="onClick2"
/>
<Button
android:id="@+id/btn_dialog3"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Clic para mostrar detallamente la barra de progreso"
android:onClick="onClick3"
/>
</LinearLayout>
MyActivity.java
package kenny.master.kenny;
import android.app.Activity;
import android.os.Bundle;
//librerias a utilizar
import android.app.AlertDialog;
import android.app.AlertDialog.Builder;
import android.app.Dialog;
import android.app.ProgressDialog;
import android.content.DialogInterface;
import android.view.View;
import android.widget.Toast;
public class MyActivity extends Activity {
//Declaro arreglos para mis elementos
CharSequence[] items = { "One Piece" , "Pokemon" , "Dragon Ball Z" };
boolean[] itemCheked = new boolean[ items.length ];
//Declaro mi variable para la barra de progeso
ProgressDialog progressDialog;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
//creo mi primer evento onClick
public void onClick( View v )
{
showDialog(0);
}
//creo mi segundo evento onClick
public void onClick2( View v )
{
//muestro el dialogo
final ProgressDialog dialog = ProgressDialog.show( this , "Realiza alguna accion" , "Espera por favor..." , true );
//Creo un hilo para determinar los tiempos de la barra de progreso
new Thread(new Runnable() {
@Override
public void run() {
try
{
//Esperamos 5 segundos
Thread.sleep( 5000 );
dialog.dismiss();
} catch( InterruptedException e )
{
e.printStackTrace();
}
}
}).start();
}
//Creo mi tercer evento onClick
public void onClick3( View v )
{
showDialog(1);
progressDialog.setProgress(0);
//Creo mi hilo para el tiempo
new Thread(new Runnable() {
@Override
public void run() {
for( int i = 1 ; i <= 15 ; i++ )
{
try {
Thread.sleep( 1000 );
//Actualizo el dialogo
progressDialog.incrementProgressBy((int)(100 / 15 ));
} catch( InterruptedException e)
{
e.printStackTrace();
}
}
//cierro la barra de progreso
progressDialog.dismiss();
}
}).start();
}
@Override
protected Dialog onCreateDialog( int id )
{
switch ( id )
{
case 1:
progressDialog = new ProgressDialog( this );
progressDialog.setTitle("Descargando arhivos....");
progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
progressDialog.setButton(DialogInterface.BUTTON_POSITIVE, "Descargar",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int escogerBoton) {
Toast.makeText(getBaseContext(), "Descargar presionado", Toast.LENGTH_SHORT).show();
}
});
progressDialog.setButton(DialogInterface.BUTTON_NEGATIVE, "Cancelar",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int escogerBoton) {
Toast.makeText(getBaseContext() , "Cancelar presionado" , Toast.LENGTH_SHORT ).show();
}
});
return progressDialog;
}
return null;
}
}
No hay comentarios:
Publicar un comentario