dialog 设置窗口大小无效
2016-09-27 09:30
387 查看
引出
最近使用 dialog 时,发现设置 dialog 的窗口固定大小无效问题。public static Dialog showOkDialog(Stage stage, String title, String text, Skin skin) { final Dialog dialog = new Dialog(title, skin); dialog.text(text).button("confirm", true).key(Keys.ENTER, true).key(Keys.ESCAPE, true); dialog.setSize(400, 300); dialog.getContentTable().pad(50, 30, 50, 30); dialog.getButtonTable().pad(50); return dialog.show(stage); }
使用如下方法设置窗口大小无效。
void com.badlogic.gdx.scenes.scene2d.Actor.setSize(float width, float height)
查看源码后发现,调用 show 方法内部处理问题
pack() 方法跳转到 【com.badlogic.gdx.scenes.scene2d.ui.WidgetGroup】
在该 pack 方法内会重新调用 setSize 方法。
解决
so 这下知道怎么回事了。只需要在 show 方法后调用 setSize 方法public static Dialog showOkDialog(Stage stage, String title, String text, Skin skin) { final Dialog dialog = new Dialog(title, skin); dialog.text(text).button("confirm", true).key(Keys.ENTER, true).key(Keys.ESCAPE, true); dialog.getContentTable().pad(50, 30, 50, 30); dialog.getButtonTable().pad(50); dialog.show(stage); // 该方法必须在 dialog show 方法调用之后使用 dialog.setSize(GlobalData.WIDTH / 3, GlobalData.HEIGHT / 3); // 注意 重新设置 size 后。位置不是屏幕居中了。若有需要,需要重新设置 return dialog; }
相关文章推荐
- 将activity设置成dialog样式如何设置窗口大小
- 设置Dialog窗口的大小
- 设置窗口大小(包括设置Dialog的窗口)
- vs2010 设置MFC程序窗口大小无效的问题
- 设置 AlertDialog窗口的大小
- Android_Dialog_设置Dialog窗口的大小
- 设置弹出的窗口大小和跳转路径
- FF中span设置大小无效,只根据内容变化大小解决办法
- showModalDialog/showModelessDialog实例,父窗口向子窗口传递值,子窗口设置父窗口的值,子窗口关闭的时候返回值到父窗口.关闭刷新父窗口
- showModalDialog/showModelessDialog实例,父窗口向子窗口传递值,子窗口设置父窗口的值,子窗口关闭的时候返回值到父窗口.关闭刷新父窗口
- QT 设置为固定大小窗口
- JAVASCRIPT动态设置applet窗口大小(转)
- silverlight 自适应窗口大小的设置
- 如何设置一个窗口的大小、位置和其他参数
- jSplitPane设置分割窗口左右显示区域的大小
- 设置窗口运行时的大小为屏幕大小
- 设置窗口大小
- showModalDialog/showModelessDialog实例,父窗口向子窗口传递值,子窗口设置父窗口的值,子窗口关闭的时候返回值到父窗口.关闭刷新父窗口
- 单文档界面窗口初始化大小设置
- 使用StartupInfo的参数设置窗口的启动位置的大小