2016-11-12 20 views
3

我有一个启动画面和登录窗体,需要全屏显示没有任何工具/菜单/标题栏。窗体显示与一个酒吧附近的屏幕顶部,我相信是TitleArea。从一个特定的codenameone形式删除标题区

的方案是相同的,关于https://groups.google.com/forum/#!topic/codenameone-discussions/2sgVfNYU9rk

在该讨论中所描述,沙伊建议TitleArea UIID透明度设置为0。正如我只想要的标题区是在这些具体形式无形的溶液中,我创建一个新的UIID TitleAreaTransparent为0的背景透明度和实例化的闪屏形式如下:

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

这确实让酒吧消失了,但是我有两个问题。

1)即使TitleArea是透明的,它仍然占用了表格上的一些房地产。在这种特殊情况下,这并不重要,但是在其他情况下,我可能需要使用整个屏幕,并且我想完全删除该组件。什么是正确的方法来做到这一点?

2)的Javadoc说getTitleArea()已过时但有一些替代品,如命令的行为(直通显示或主题常量)我做了一些挖掘和无法找到任何关于如何揭示光做我需要做的事情。什么是改变TitleArea组件UIID的正确方法?

回答

1

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

您可以通过全局造型的StatusBar UIID禁用(不推荐)或直通你Form子类是这样的:

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

我没有设定一个标题(title =“”),但TitleArea是仍然存在并且可见。当我使用你在这里提供的代码片段时,它仍然可见,但大约是该图片的一半高度:http://imgur.com/a/79aP3 – SolStack

+0

你还在使用'getTitleArea()。setUIID(“容器“)'? –

+0

我把'getTitleArea()。setUIID(“Container”)'取出来,并用上面提供的代码替换它。你是否说我应该一起使用它们? – SolStack