Android中的对话框和弹出窗口

时间:2013-08-29 23:07:34

标签: android popup popupwindow dialogfragment

http://developer.android.com/design/building-blocks/dialogs.html中的Android设计文档明确区分了对话框,警报,弹出窗口和Toast。它还建议通过DialogFragment类和 Toasts 通过Toast类实现对话。但是,我不清楚弹出窗口是应该使用PopupWindow还是DialogFragment来实现。

我知道DialogFragments通常带有“确定/取消”按钮,并且可以定义PopupWindows的位置,但是:

1 个答案:

答案 0 :(得分:2)

如果您想要链接中显示的对话框,只需按照下面的说明制作自定义对话框:

制作一个对话框对象:

Dialog dialog = new Dialog(context,android.R.style.Theme_Translucent_NoTitleBar);

将自定义视图设置为此对话框:

show_dialog(){
    dialog.setContentView(R.layout.custom_dialog);//your custom dialog layout.
}

您的自定义布局应如下所示:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_height="fill_parent"
    android:layout_width="fill_parent"
    android:id="@+id/custom_dialog_first_rl"
    android:background="@android:color/black">
<!-- write code for rest of your UI here -->
</RelativeLayout>

现在为show_dialog()中的第一个相对布局设置alpha,如下所示:

show_dialog(){
    dialog.setContentView(R.layout.custom_dialog);//your custom dialog layout.
    RelativeLayout custom_dialog_first_rl=(RelativeLayout)dialog.findViewById(R.id.custom_dialog_first_rl);
        custom_dialog_first_rl.getBackground().setAlpha(170);
}

调用您想要显示此对话框的show_dialog()