LWUIT,如何为表单标题创建自定义标签

Posted

技术标签:

【中文标题】LWUIT,如何为表单标题创建自定义标签【英文标题】:LWUIT, How to create a custom label for form title 【发布时间】:2012-03-16 12:51:18 【问题描述】:

我想知道如何创建一个包含两个图标的标签,每侧一个,并将其设置为表单元素(LWUIT 小部件)的标题栏。

【问题讨论】:

你能详细解释一下你的问题吗 @Muhammad,我已经编辑了这个问题。 【参考方案1】:

Form 有一个获取 titleArea 的功能,然后你可以放一些你想要的组件。

Form f = new Form();
Container c = f.getTitleArea();
Label iconLabel1 = new Label("leftIcon");//using Image
Label iconLabel2 = new Label("rightIcon");//using Image
c.addComponent(BorderLayout.WEST, iconLabel1);
c.addComponent(BorderLayout.EAST, iconLabel2);

【讨论】:

谢谢你 Yahan,你的解决方案和 Shai Almog 的工作。【参考方案2】:

您可以在屏幕的北部添加一个组件,这是推荐的方式,它可以正常工作并且不会因 LWUIT/Codename One 的较新版本而中断。

当您不设置标题时,它会正常工作,您可以给它标题 UIID。 LWUIT 1.5 和更新版本有一个 TitleArea 容器,但我建议你远离它,因为 CodenameOne 为 ios/android 4.x 等定制了它。

【讨论】:

如果我在屏幕的北部添加一个组件,当滚动时,组件会移出屏幕,我不希望这种情况发生。 form.setScrollable(false); containerInCenterPosition.setScrollableY(true);【参考方案3】:

使用setTitleComponent(Label title) 方法。


编辑:

派生Label 类并实现paint 方法,您可以使用Graphics 方法绘制Images 和文本。还将标签的文本位置设置为Label.CENTER

【讨论】:

我知道如何使用 'setTitleComponent(Label title)' 为表单标题设置标签。我的问题是我不知道如何自定义标签以使其包含两个图标,每侧一个,中间一个文本。

以上是关于LWUIT,如何为表单标题创建自定义标签的主要内容,如果未能解决你的问题,请参考以下文章

如何为视图中的所有标签设置自定义字体? [复制]

如何为自定义控件创建事件

如何为 github.io 网站获取自定义不和谐嵌入?

如何为自定义 UIControl 添加触摸事件并在 swift 5 中确定触摸的项目

如何为状态 UIControlStateHighlighted 设置按钮标签文本颜色

Angular 2 自定义表单输入