在 Codenameone 应用程序中向表单添加工具栏时,我遇到了一个奇怪的问题。如果我在表单上设置一个工具栏,它会在前一个表单的标题下方显示另一个带有工具栏汉堡包的标题和新标题,而不是像我期望的那样替换它。它看起来像这样:
该功能可以很好地替换旧标题,就像我在 Codenameone 模拟器中运行时所期望的那样,但是当我进行 Android 构建并在 Nexus 5 (6.0.1 )。后退箭头和“12 of 12”是上一个表单的标题
这是我的代码,我在使用工具栏时做错了什么吗?
void goShowResource(final Form previousForm) {
previous = previousForm;
final Toolbar bar = new Toolbar();
final Form rd = new Form("resource details");
final Resource thisResource = this;
rd.setToolbar(bar);
bar.addCommandToSideMenu(new Command("command 1") {
@Override
public void actionPerformed(ActionEvent evt) {
AddResources ar = new AddResources(settings, thisResource);
ar.goAddResources(rd);
}
});
bar.addCommandToSideMenu(new Command("command 2") {
@Override
public void actionPerformed(ActionEvent evt){
UpdateResource ur = new UpdateResource(settings);
ur.goUpdateResource(rd, thisResource);
}
});
rd.setLayout(new BoxLayout(BoxLayout.Y_AXIS));
showDetails(rd);
rd.show();
}
编辑:附加信息,如果我打开侧边菜单一次,顶部的旧标题栏就会缩小,只剩下单个正确但格式不正确的标题区域。
最佳答案
您应该对应用程序中的所有表单使用工具栏
,或者在使用工具栏时禁用默认的 native 菜单栏。您可以通过编辑主题并选择常量选项卡,然后按“添加”并选择 commandBehavior=Side
来完成后者。
Android 当前默认使用 native ActionBar
行为,并且 Toolbar
隐式覆盖该行为,但是,当从 native 到轻量级组件的转换发生时,事情可能会变得非常棘手(并且也可能看起来不自然),因此我们建议选择一种 UI 范例并采用它。
由于 ActionBar
是一个不稳定的 API,我们建议继续使用 Toolbar
,因为它的可定制性更高,并且为我们提供了很多控制权。
关于android - Codenameone Form 添加另一个标题,而不是在添加工具栏时更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34669343/