我试图在一个代号为一个应用程序中实现一个聊天功能,基本上使用教程中的示例"使用一个代号为One的聊天应用程序“。部分原因是当有人试图与你联系时会弹出一个InteractionDialog。这在模拟器和我的安卓设备上看起来都不错,但是在iPhone 6上,对话框似乎画得太低了,结果只有标题是可见的。
这是程序代码:
int h = toast.getPreferredH();
int dh = Display.getInstance().getDisplayHeight(); // just for debugging
toast.show(Display.getInstance().getDisplayHeight() - h - 10, 10, 10, 10);
UITimer uit = new UITimer(() -> {
toast.dispose();
});吐司高度,显示高度:
模拟器: h=221,dh=480
安卓: h=359,dh=1674
iPhone 6: h=304,dh=1334 (这个太接近底部了)
屏幕指标有问题吗?我能做些什么来解决这个问题呢?我以前在InteractionDialog的安置方面也遇到过一些类似的问题。
我很乐意展示一些截图,但我还不能发布那么多链接。
发布于 2016-02-22 04:04:38
我认为这个聊天应用程序的代码可能有一点错误,请修改如下:
int h = toast.getPreferredH();
int dh = Display.getInstance().getDisplayHeight(); // just for debugging
toast.show(Display.getInstance().getDisplayHeight() - h - 10, 10, 10, 10);对此:
int h = toast.getPreferredH();
int dh = Display.getCurrent().getContentPane().getHeight();
toast.show(dh - h - 10, 10, 10, 10);分层窗格( InteractionDialog所在的地方)位于内容窗格区域的顶部,而不是整个显示高度,因此没有考虑标题区域/statusbar区域。
在即将到来的版本中,我们将有新的ToastBar组件。
https://stackoverflow.com/questions/35538806
复制相似问题