嗨,我想在 Blackberry 中创建一个多行自定义标签我创建了一个自定义对话框,它有一个或两个按钮并显示消息我添加了一个 LabelField 但是,问题是消息文本是否太长在自定义对话框边界之外,我需要一些自定义标签,将消息放在下一行,以获得我可能为标签定义的宽度。
问问题
608 次
1 回答
3
您应该将您LabelField
的添加到VerticalFieldManager
. 这个答案是基于我在这里的回答。您可以通过修改管理器方法maxWidth
中的变量来更改标签字段的宽度。sublayout()
public final class CustomScreen extends MainScreen {
public CustomScreen() {
String longString = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean vel lorem eget tortor hendrerit adipiscing. Curabitur mollis pellentesque est ac.";
VerticalFieldManager vfm = new VerticalFieldManager(Manager.USE_ALL_WIDTH | Manager.NO_HORIZONTAL_SCROLL) {
protected void sublayout(int maxWidth, int maxHeight) {
super.sublayout(maxWidth, maxHeight);
};
};
vfm.add(new LabelField(longString));
add(vfm);
}
}
此代码段产生
在管理器的方法中修改maxWidth
为Display.getWidth()/2
(或maxWidth/2
)会产生sublayout()
更新(正如 Yatin 建议的那样):一个人可以在不使用的情况下实现相同的功能,VerticalFieldManager
但如果文本不适合垂直,则垂直滚动将不可用。
public final class CustomScreen extends MainScreen {
public CustomScreen() {
String longString = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean vel lorem eget tortor hendrerit adipiscing. Curabitur mollis pellentesque est ac.";
add(new LabelField(longString) {
protected void layout(int width, int height) {
super.layout(width/2, height);
}
});
}
}
于 2012-06-24T06:44:52.817 回答