问题描述
)
[ 关闭:ResizeHandler 也适用于这种情况。与“横向 - 宽度”计算相关的代码错误。]
我正在使用 GWT 构建我的(第一个)桌面/移动应用程序。 目前我正忙于浏览器中的粗略演示。
所以,使用方法:
Window.getClientWidth()
和
Window.addResizeHandler
很容易从客户端浏览器变成实际的宽度值。它工作得很好! :-)
但是,如果我将手机转动 90° 并且屏幕变为横向模式,则 ResizeHandler 会忽略这一点。我需要更新浏览器才能让事情发生。
但是其他商业网站没有这个问题,所以浏览器一定有返回值显示这个变化吗?
有人知道我应该朝哪个方向看吗?
//vertical/horizontal ?
private void screenAlignment(){
if (Window.getClientWidth() > Window.getClientHeight()){
alignment = "horizontal";
} else {
alignment = "vertical";
}}
}
// first start orientation
private void dynamicFlexTableInit(){
if (alignment.equals("vertical")){
windowWidthRootFlexTable = Math.round(Window.getClientWidth() * 0.97f);
root.setWidth(String.valueOf(windowWidthRootFlexTable) + "px");
}else {
windowWidthRootFlexTable = Math.round(Window.getClientWidth() * 0.57f);
windowsHeight = Window.getClientHeight();
//GWT.log("<dynamicFlexTableInit> Windows Breite: " + windowWidthRootFlexTable);
root.setWidth(String.valueOf(windowWidthRootFlexTable) + "px");
}
}
// resizeManager
private void resizeManager(FlexTable root){
// last alignemt
lastAlignment = alignment;
Window.addResizeHandler(new ResizeHandler() {
@Override
public void onResize(ResizeEvent resizeEvent) {
// alignment check
screenAlignment();
// new alignment ?
if (!lastAlignment.equals(alignment)){
// update last alignment
lastAlignment = alignment;
// check/change width
dynamicFlexTableInit();
}}
});
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)