如何使活动显示在当前活动上

时间:2014-01-09 06:44:06

标签: android

为了简短起见,我的目标是弹出一个活动出现在当前活动的前面。

以下是http://i.stack.imgur.com/WLUOJ.png

的示例

这是一个小部件。当我按下按钮时,此活动会弹出其他活动。

我想要弹出类似的活动。

我是新手。所以,请详细说明一下。

5 个答案:

答案 0 :(得分:4)

因此,您希望活动的行为类似于对话框弹出窗口。

这可以通过为android清单文件中的活动定义以下内容来实现 -

android:theme="@android:style/Theme.Dialog"

现在活动的行为就像一个对话框。

答案 1 :(得分:1)

为什么不使用对话框?

http://developer.android.com/guide/topics/ui/dialogs.html

您还可以将“活动”用作对话框,说明位于同一链接上。

答案 2 :(得分:0)

使用android:Theme.Holo.Dialog.NoActionBar作为您活动的主题。或者,您可以创建自定义主题并使用android:Theme.Holo.Dialog.NoActionBar作为其父级。

答案 3 :(得分:0)

您可以通过创建Activity来简单地将该活动声明为主题作为清单文件中的对话框来实现弹出窗口。

   <activity android:name=".MainActivity"
        android:theme="@android:style/Theme.Dialog">

查看Simple Tutorial of Activity as Dialog.

答案 4 :(得分:0)

是的,我会尝试自定义对话框。这样,您可以根据自己的喜好进行自定义。这是一个例子:

的活动:

LayoutInflater li = LayoutInflater.from(this);
View promptsView = li.inflate(R.layout.your_xml, null);
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(this);

alertDialogBuilder.setView(promptsView); // set your_xml to alert dialog builder

    alertDialogBuilder.setCancelable(false).setPositiveButton("OK",new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog,int id) {
            //action listener for "OK" button

            }
          })
        .setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog,int id) {
            dialog.cancel();

            }
          });

    // create alert dialog
    AlertDialog alertDialog = alertDialogBuilder.create();

    // show it
    alertDialog.show();

}

your_xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >

//Custom layout
</LinearLayout>