Tuesday, July 10, 2012

ProgressDialog in Android



Click Here to Download Source code


package name  : selva.progressdialog

project name   :  ProgressDialog

Version            : 1.5 ( Support 1.5 and above versions)


main.xml


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello" />
<Button
android:id="@+id/btn"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Click to display a dialog" />
</LinearLayout>

ProgressDialogActivity.java

package selva.progressdialog;
 
import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
import android.app.ProgressDialog;
import android.os.Handler;
import android.os.Message;
public class ProgressDialogActivity extends Activity
{

        private ProgressDialog _progressDialog;
        private int _progress = 0;
        private Handler _progressHandler;
        /** Called when the activity is first created. */
            @Override
            public void onCreate(Bundle savedInstanceState)
            {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.main);
                Button btn = (Button) findViewById(R.id.btn);
                btn.setOnClickListener(new View.OnClickListener()
                {
                    public void onClick(View v)
                    {
                        showDialog(1);
                        _progress = 0;
                        _progressDialog.setProgress(0);
                        _progressHandler.sendEmptyMessage(0);
                    }
                });
                    _progressHandler = new Handler()
                    {
                        public void handleMessage(Message msg) {
                            super.handleMessage(msg);
                            if (_progress >= 100)
                            {
                                _progressDialog.dismiss();
                            }
                            else
                            {
                                _progress++;
                                _progressDialog.incrementProgressBy(1);
                                _progressHandler.sendEmptyMessageDelayed(0, 100);
                            }
                        }
                    };
            }
        @Override
        protected Dialog onCreateDialog(int id) {
        switch (id) {
        case 0:
        return new AlertDialog.Builder(this)
        //...
        //...
        .create();
        case 1:
        _progressDialog = new ProgressDialog(this);
        _progressDialog.setIcon(R.drawable.ic_launcher);
        _progressDialog.setTitle("Downloading files...");
        _progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
        _progressDialog.setButton(DialogInterface.BUTTON_POSITIVE, "Hide", new
        DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog,
        int whichButton)
        {
        Toast.makeText(getBaseContext(),
        "Hide clicked!", Toast.LENGTH_SHORT).show();
        }
        });
        _progressDialog.setButton(DialogInterface.BUTTON_NEGATIVE, "Cancel", new
        DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog,
        int whichButton)
        {
        Toast.makeText(getBaseContext(),
        "Cancel clicked!", Toast.LENGTH_SHORT).show();
        }
        });
        return _progressDialog;
        }
        return null;
        }
        }


OUTPUT:





















































































Click Here to Download Source code



No comments:

Post a Comment