gpt4 book ai didi

codenameone - 从特定的代码名称表单中删除 TitleArea

转载 作者:行者123 更新时间:2023-12-04 03:14:38 24 4
gpt4 key购买 nike

我有一个启动画面和登录表单,需要全屏显示,没有任何工具/菜单/标题栏。表单显示在屏幕顶部附近有一个栏,我认为它是 TitleArea。

该场景与 https://groups.google.com/forum/#!topic/codenameone-discussions/2sgVfNYU9rk 中描述的场景相同

在那次讨论中,Shai 推荐了一种将 TitleArea UIID 透明度设置为 0 的解决方案。由于我只希望标题区域在这些特定表单上不可见,因此我创建了一个背景透明度为 0 的新 UIID TitleAreaTransparent 并实例化了SplashScreen 形式如下:

    SplashScreen f = new SplashScreen(theme);
Container tArea = f.getTitleArea();
tArea.setUIID("TitleAreaTransparent");
f.show();

这确实会使栏消失,但我有两个问题。

1) 即使 TitleArea 是透明的,它仍然占用了窗体上的一些空间。在这种特殊情况下,这无关紧要,但在其他情况下,我可能需要使用整个屏幕,我想简单地完全消除该组件。执行此操作的正确方法是什么?

2) javadoc 说 getTitleArea() 已被弃用,但是 有一些替代方法,例如命令行为(通过 Display 或主题常量) 我做了一些挖掘,但无法找到任何东西阐明了如何做我需要做的事情。更改 TitleArea 组件的 UIID 的正确方法是什么?

最佳答案

在这种方法中,getTitleArea() 仍然是必不可少的。如果您没有设置标题,标题区域应该为 0,但状态栏仍会占用空间,因为它会将 UI 向下推,因此它不会在 iOS 状态栏区域下方呈现。

您可以通过全局设置 StatusBar UIID 样式(不推荐)或在您的 Form 子类中使用类似这样的样式来禁用它:

@Override
protected Component createStatusBar() {
Component c = super.createStatusBar();
c.getUnselectedStyle().setPadding(0, 0, 0, 0);
return c;
}

关于codenameone - 从特定的代码名称表单中删除 TitleArea,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40558168/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com