我的问题是我找不到任何方法可以在TextComponent
内的TextModeLayout
附近正确添加图标来屏蔽/取消屏蔽密码。
这仅是一个布局问题,因为ActionListener
用来屏蔽/取消屏蔽密码的代码至少在模拟器中正常工作(取自Codename One - Mask and Unmask Password Field on iOS)。
在iPhone皮肤上,InputComponents
标签和文本字段未正确对齐:
关于我的代码,我没有将InputComponent
(密码)直接添加到TextModeLayout
容器中,而是将InputComponent
和Button
封闭在{{ 1}},然后将BorderLayout
容器添加到BorderLayout
容器中。
答案 0 :(得分:1)
执行此操作时,文本模式布局将对该组件停止工作,因为它不知道层次结构中的布局。边框布局中的层次结构是该布局的责任。
解决方案是扩展TextComponent
并将该功能添加到Codename One。作为解决方法,我们可能可以依靠当前组件的行为,因为该字段已经在边框布局组件中。所以类似的事情可能会起作用:
TextField tf = myTextComponent.getField();
Container b = tf.getParent();
b.add(EAST, unmask);