在下面的代码中,我想要一个旋转器样式的对话框,在用户点击"检查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');
这将在过程完成后关闭加载程序。您也可以放置一些文本而不是加载程序。希望这有帮助