我尝试过很多变体来创建全屏对话框,但是我不能。我需要这样的东西,有两个按钮:http://i.stack.imgur.com/dLSx8.png如何使材料设计全屏幕对话框?
回答
如果你真的想要一个全屏对话框,只需扩展Dialog
类并添加一些调整。 (你也可以在不扩展任何东西的情况下做到这一点,但我想你可能想把所有东西都放在一个地方)
在你的构造函数中,你需要设置样式(对于你的材质外观,或者它可以是一个空的样式标签):
super(context, R.style.DialogStyle);
你还需要设置的观点:(在这里,您将定义哪里/什么这两个按钮)
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();
感谢您的回答。但我不明白在哪里需要使用这个代码:super(context,R.style.DialogStyle) –
如果你不知道哪里会去,你需要做更多的关于android开发的研究。但我添加了一些编辑来帮助你多一点。 –
哦!谢谢!这是我需要的。如果有人接受这个错误:android.viewWindowManager $ BadTokenException:无法添加窗口 - 标记null不适用于应用程序,只需使用YourActivity.this代替this或getApplicationContext() –
我同意使用新的活动。将HomeAsUp指示器设置为任何你想要的,然后保存按钮可以是设置为显示ifRoom的单个菜单项目。
http://developer.android.com/reference/android/app/ActionBar.html#setHomeAsUpIndicator(int)
机器人:showAsAction = [ “ifRoom” | “从不” “withText”| “总是”| “collapseActionView”]
需要设置HomeAsUpIndicator的位置?如果我使用getActionBar()。setHomeAsUpIndicator会导致错误。 Min API在我的项目15中,但这种方法需要18. –
使用'getSupportActionBar()。setHomeAsUpIndicator'。 – ieatacid
这是我用来显示没有动作条全屏对话框:
//Display fullscreen without actionbar
if(Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) {
setStyle(DialogFragment.STYLE_NORMAL, android.R.style.Theme_Holo_Light_NoActionBar_Fullscreen);
} else {
setStyle(DialogFragment.STYLE_NORMAL, android.R.style.Theme_Material_Light_NoActionBar_Fullscreen);
}
- 1. 如何实现材料主屏幕
- 2. Google地图和Angular材质设计对话框全宽
- 3. 如何使角材料对话框在IE10中工作
- 4. 角材料对话框犯规收缩
- 5. 从库中添加材料对话框
- 6. 全屏对话框
- 7. Angular2材料对话框的CSS,对话框的大小
- 8. 带复选框的材料设计表
- 9. 材料设计设置
- 10. 把材料设计对话框中的一个对象放入主控制器
- 11. 如何开始与材料设计
- 12. 材料设计Google地图如何
- 13. Bootstrap材料设计表对齐问题
- 14. C#的屏幕录像材料
- 15. 辅助材料设计
- 16. Xamarin.Android材料设计图标
- 17. 错误时,材料设计
- 18. 材料设计light mdl-select
- 19. 材料设计 - 与jQuery
- 20. angular2材料设计问题
- 21. 防止角材料设计
- 22. 屏幕布局需要全屏,而不是部分对话框
- 23. 角材料如何将数据传递给预设对话
- 24. 使用VueJS的材料设计
- 25. AlertDialog不正确使用材料设计?
- 26. Android的 - 材料设计库:如何使用collapsingToolBar布局
- 27. 如何使材料设计lite卡仅在X上溢出imgs?
- 28. 如何使用角度/材料设计的底部床单?
- 29. 如何使材料设计抽屉标题变得固定?
- 30. 不能使用材料设计对准MD-按钮向左
只是使用另一个活动,并与'startActivityForResult'打开呢? – tachyonflux
Imho这不是一个对话框,而是一个自定义工具栏的活动。 – FWeigl
尝试[this](https://github.com/nikialeksey/FullScreenDialog) –