如何使材料设计全屏对话框?

亚历克斯·马林诺夫斯基

我尝试了多种变体来创建全屏对话框,但我做不到。我需要这样的东西,有两个按钮:

图片

卢克·考森(Luke Cauthen)

如果您真的想要一个全屏对话框,只需扩展Dialog该类并添加一些调整即可。(您也可以在不扩展任何内容的情况下完成此操作,但我想您可能希望将所有内容都保留在一个位置)

在您的构造函数中,您需要设置样式(为了您的外观,也可以是一个空的样式标签):

super(context, R.style.DialogStyle);

您还需要设置视图:(在这里您可以定义这两个按钮的位置/位置)

setContentView(R.layout.dialog_view);

最后,您可能还需要修改Windows布局参数:

getWindow().setLayout(WindowManager.LayoutParams.MATCH_PARENT, WindowManager.LayoutParams.MATCH_PARENT);

我在经过测试的设备上发现设置样式最重要。

*编辑*

为了更清楚一点,您有两个选择:

public class MyDialog extends Dialog {

    public MyDialog(Context context) {
        super(context, R.style.YourStyle);
        setContentView(R.layout.dialog_view);
        getWindow().setLayout(WindowManager.LayoutParams.MATCH_PARENT, WindowManager.LayoutParams.MATCH_PARENT); //Optional
        //Any other code you want in your constructor
    }
}

然后,当您想要显示它时:

//Inside your activity
MyDialog dialog = new MyDialog(this); //Assuming you are in an activity 'this' is your context
dialog.show();

或者,您可以执行以下操作:

Dialog normalDialog = new Dialog(this, R.style.YourStyle);
normalDialog.setContentView(R.layout.dialog_view);
normalDialog.show();

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章