這是一個實現,它允許AlertDialog顯示在當前活動活動的頂部(這是消息對話框的一個例子,但也可以用於提醒)。
public class AlertsDialogue
{
private AlertDialog.Builder alertDialogBuilder;
private AlertDialog alert;
public AlertsDialogue(Context context, String title, String message)
{
alertDialogBuilder = new AlertDialog.Builder(context);
alertDialogBuilder.setTitle(title);
alertDialogBuilder.setIcon(R.drawable.ic_launcher);
alertDialogBuilder.setMessage(message)
.setCancelable(false)
.setPositiveButton(context.getString(R.string.text_ok), new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which)
{
alert.dismiss();
}
});
alert = alertDialogBuilder.create();
Window window = alert.getWindow();
if (window != null)
{
// the important stuff..
window.setType(WindowManager.LayoutParams.TYPE_TOAST);
alert.show();
}
else
Toast.makeText(context, message, Toast.LENGTH_LONG).show();
}
}
對話框將顯示,即使在將其用實例化的情況下不再有效,就像Toast
。與new AlertsDialogue(MyActivity.this, "title", "message");
無需額外的權限是必需的AndroidManifest文件
呼叫。
你可以使用[吐司](http://developer.android.com/reference/android/widget/Toast.html)。 Afaik沒有辦法顯示一個對話框而不是活躍的前臺應用程序。 – zapl 2012-03-17 15:17:58