【问题标题】:iPhone 6: InteractionDiaog appears too far down; content hiddeniPhone 6:InteractionDiaog 显得太低了;内容隐藏
【发布时间】:2016-02-22 12:04:38
【问题描述】:

我正在尝试在 Codename One 应用程序中实现聊天功能,基本上使用教程示例“Building a Chat App with Codename One”。其中一部分是当有人试图联系你时弹出一个交互对话框。这在模拟器和我的 Android 单元上看起来不错,但在 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();
    });

Toast 高度、显示高度:
模拟器:h=221,dh=480
Android:h=359,dh=1674
iPhone 6:h=304,dh=1334(这个太靠近底部了)

屏幕指标是否有问题,我能做些什么来解决这个问题?我之前在 InteractionDialog 放置方面遇到过一些其他类似的问题。

我很乐意展示一些屏幕截图,但我还不能发布那么多链接。

【问题讨论】:

    标签: codenameone


    【解决方案1】:

    我认为聊天应用程序的代码可能有点错误,在这里更改一下:

    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 所在的位置)仅位于内容窗格区域的顶部,而不是整个显示高度,因此不考虑标题区域/状态栏区域。

    仅供参考,在即将发布的版本中,我们将使用新的ToastBar component

    【讨论】:

    • 关于 ToastBar 的新闻太棒了!正计划为我正在开发的应用程序实施类似的东西,但我想我会等待这个。知道什么时候可以使用吗?我有两个关于 API 的问题:
    • 1. ToastBars 可以级联吗?用例:例如当网络中断时,我想显示一个永久的“离线模式”消息。但是,与此同时,可能会有“真正的祝酒词”,在这种情况下,我想暂时在永久“离线模式”通知上方显示第二个祝酒词。这可能吗?
    • 2.我们可以在吐司栏上添加按钮吗?这很常见,例如在 gmail 应用程序中,将右对齐的“撤消”按钮添加到吐司中。这是一个示例:i.stack.imgur.com/LWClq.jpg
    • 谢谢,这很有道理。使用整个显示高度有点可疑,但我不知道用什么替换它。期待 ToastBar!
    • @Shai:我已经提出了我的问题here :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-07-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-05
    相关资源
    最近更新 更多