android - Codenameone Form 添加另一个标题,而不是在添加工具栏时更新

标签 android codenameone

在 Codenameone 应用程序中向表单添加工具栏时,我遇到了一个奇怪的问题。如果我在表单上设置一个工具栏,它会在前一个表单的标题下方显示另一个带有工具栏汉堡包的标题和新标题,而不是像我期望的那样替换它。它看起来像这样: enter image description here

该功能可以很好地替换旧标题,就像我在 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/

相关文章:

Android - 如何制作结合位图的背景图案?

java - 如何从 URL 重定向到 Codename One 应用程序?

java - YouTube 之类(评级)无法正常工作

Android : canvas. drawoval() + 旋转

android - Robo 脚本不适用于 Firebase 测试实验室中的 Robo 测试

android - 如何确定哪个 android 市场用于下载我的应用程序

android - 当键盘可见时,状态栏显示在 android 上

codenameone - 了解代号一中的本地通知

ios - 如何为代号为 1 的 IOS 制作的应用程序设置自定义图标

java - 如何将 RSSReader 组件与代号一中的 URL 链接