AlertDialog后台活动

时间:2013-07-30 05:16:39

标签: android alertdialog

我有一个警报对话框,可以按照我的意图正确显示。问题是,当我从任何活动触发警报时,它会打开看似空白的布局,然后在空白布局中打开警报对话框。我希望我的警报对话框在用户触发它时所处的活动中打开。这是我的代码:

AlertDialog dialog = new AlertDialog.Builder(this)
    .setCancelable(false)
    .setView(getLayoutInflater().inflate(R.layout.activity_about_t2m, null))
    .create();  
    dialog.setTitle("About T2M");
    dialog.show();

我认为问题可能是第二个问题,但我如何检测当前活动?

3 个答案:

答案 0 :(得分:0)

您可以使用具有警报对话框的透明背景创建新活动。只需从Application中的任何位置启动此活动,您将获得一个警报对话框,其中包含您当前的活动背景:

要使活动透明化,请使用以下代码:

<activity
            android:name="name of your Activity"
            android:excludeFromRecents="true"
            android:theme="@android:style/Theme.Translucent.NoTitleBar" />

答案 1 :(得分:0)

试试这个 -

 View v =getLayoutInflater().inflate(R.layout.activity_about_t2m, null);
    AlertDialog dialog = new AlertDialog.Builder(this)
    .setCancelable(false)
    .setView(v)
    .create();  
    dialog.setTitle("About T2M");
    dialog.show();

答案 2 :(得分:0)

试试这个: -

构建AlertDialog:

// 1. Instantiate an AlertDialog.Builder with its constructor
 AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());

// 2. Chain together various setter methods to set the dialog characteristics
 builder.setMessage(R.string.dialog_message)
       .setTitle(R.string.dialog_title);

// 3. Get the AlertDialog from create()
 AlertDialog dialog = builder.create();

您也可以参考http://developer.android.com/guide/topics/ui/dialogs.html#DialogFragment进一步参考。