如何解决移动浏览器上的 GWT 屏幕方向 [关闭]
)
[ 关闭: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 举报,一经查实,本站将立刻删除。