如何添加旋转器样式过程对话框5秒



在下面的代码中,我想要一个旋转器样式的对话框,在用户点击"检查root"之后5秒钟。基本上,在用户键入按钮后,进程对话框将说"请等待..." 5秒钟,然后显示结果。我怎么做 ?请帮助!

Button Root = (Button) findViewById(R.id.Root);
    Root.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View arg0) {
            if (RootTools.isAccessGiven()) {
                    AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
                    builder.setIcon(R.drawable.ic_launcher);
                    builder.setTitle("Congratulations!");
                    builder.setMessage("You Have Root Access!");
                    builder.setPositiveButton("OKAY", new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialog, int which) {
                            dialog.cancel();
                        }
                    });
                    AlertDialog dialog = builder.create();
                    dialog.show();
                }
            else  {
                 AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
                    builder.setIcon(R.drawable.ic_launcher);
                    builder.setTitle("Oops!");
                    builder.setMessage("No Root Access!");
                    builder.setPositiveButton("OKAY", new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialog, int which) {
                            dialog.cancel();
                        }
                    });
                    AlertDialog dialog = builder.create();
                    dialog.show();  
            }
        }
private Handler mTimerHandler = new Handler();
private ProgressDialog mProgressDialog = null;
private Button Root;

@Override
protected void onCreate(Bundle savedInstanceState) {
    ...........
    Root = (Button) findViewById(R.id.Root);
    Root.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View arg0) {
            mProgressDialog = ProgressDialog.show(MainActivity.this, "", "Please wait...", true);
            mTimerHandler.postDelayed(mTimerExecutor, 5000);
        }
    });
    ...........
}

private Runnable mTimerExecutor = new Runnable() {
    @Override
    public void run() {
        if (mProgressDialog != null) {
            mProgressDialog.dismiss();
        }
        showDialog();
    }
};
private void showDialog() {
    if (RootTools.isAccessGiven()) {
        AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
        builder.setIcon(R.drawable.ic_launcher);
        builder.setTitle("Congratulations!");
        builder.setMessage("You Have Root Access!");
        builder.setPositiveButton("OKAY", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                dialog.cancel();
            }
        });
        AlertDialog dialog = builder.create();
        dialog.show();
    } else {
        AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
        builder.setIcon(R.drawable.ic_launcher);
        builder.setTitle("Oops!");
        builder.setMessage("No Root Access!");
        builder.setPositiveButton("OKAY", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                dialog.cancel();
            }
        });
        AlertDialog dialog = builder.create();
        dialog.show();  
    }
}
    @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState); 
            setContentView(R.layout.splashscreen_layout);
            ProgressDialog progressDialog;
            progressDialog = new ProgressDialog(BrandList.this);
            progressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
            progressDialog.setMessage("Loading...");
            progressDialog.setCancelable(false);
            progressDialog.show();
            Thread thread = new Thread() {
                @Override
                public void run() {
                    try {
                        synchronized (this) {
                            wait(5000); // the time in millis.
                        }
                    } catch (InterruptedException e) {

                    } finally {
                         progressDialog.dismiss();
                        //do your stuff.
                    }
                }
            };

            thread.start(); 
        }

您可以将jQuery Loader用于此目的。查找jQuery Loader JS和jQuery CSS,并将它们包含在您的应用程序中。

在页面上写下此代码

$.loader({
className:"blue-with-image-2",
content:''
});
write this after the query or process is completed:

$.loader('close');

这将在过程完成后关闭加载程序。您也可以放置一些文本而不是加载程序。希望这有帮助

最新更新