如何在具有相同对话效果的现有布局上放置视图

时间:2011-11-16 22:30:27

标签: android android-layout android-ui

我想在新用户的现有布局上添加一些教程文本框。我想创建一个完全相同的对话效果;弹出盒子,让它指向某个东西并使其他一切变暗......

有人建议使用框架布局,然后在基础布局上放置全屏半透明线性布局,但我不知道该怎么做..

4 个答案:

答案 0 :(得分:0)

您的ApiDemos文件夹中有一个很好的示例,它会创建一个看起来像弹出对话框的活动。

以下是source code和相应的XML layout file

答案 1 :(得分:0)

为什么不使用对话框并拨打setContentView

Dialog dialog = new Dialog(this);
dialog.setContentView(R.layout.dialogView);
// initialize the components

如果没有对话,你还需要做什么?

答案 2 :(得分:0)

为什么不使用Dialog呢?

禁用(或只是不添加)按钮,然后使用AlertDialog.Builder.setView(View yourView)向对话框添加自定义视图:

private static final int YOUR_POPUP_ID = 0;

@Override
protected Dialog onCreateDialog(int id) {
    if (id == YOUR_POPUP_ID) {
        // yourView is what you actually want to show in popup
        return new AlertDialog.Builder(this)
            .setTitle("a title")
            .setView(yourView)
            .create();
    }
}

..

// some where in your code show the popup
showDialog(YOUR_POPUP_ID);

答案 3 :(得分:0)

对于任何好奇的人,我不得不使用非对话框,因为屏幕非常个性化..

无论我做了什么,我把我的初始布局放在框架布局中,然后在其上面放置另一个布局(只需在framelayout下添加另一个布局),使用半透明的背景图像,然后我添加了我的其他布局..然后在代码中(在初始布局创建之后),我在视图上使用了各种方法我想覆盖(getLocationOnScreen()和getLayoutParams()来设置宽度和高度)