android - 如何制作 Material Design 全屏对话框?

标签 android dialog fullscreen material-design

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

image

最佳答案

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

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

super(context, R.style.DialogStyle);

您还需要设置 View :(这是您定义这两个按钮的位置/内容的地方)

setContentView(R.layout.dialog_view);

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

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();

关于android - 如何制作 Material Design 全屏对话框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32017068/

相关文章:

java - 解析日期字符串

java - 如何在java中设置消息对话框的位置?

checkbox - 请求对话框复选框选项 "don' 发送前询问...”

android - Google Play 商店中基于服务的 Android 应用程序

android - Waze - 打开应用程序中的 waze.to 链接并开始导航,

java - 每次应用程序来自 android 中的后台时启动第一个屏幕

WPF 在 MVVM 中使用 SaveFileDialog

qt - 当按钮大小改变时增加按钮字体大小

javascript - 使用单一功能全屏制作多张图片

objective-c - 更改窗口的委托(delegate)后退出 Mountain Lion 中的全屏中断