您好我想在Blackberry中创建多行自定义标签 我创建了一个自定义对话框,它有一个或两个按钮,并显示我添加了LabelField的消息 但是,问题是消息文本是否比自定义对话框边界外的消息文本太长 我需要一些自定义标签,将消息放在下一行中,我可以为标签定义宽度。
答案 0 :(得分:3)
您应该将LabelField
添加到VerticalFieldManager
。这个答案基于我的回答here。您可以通过修改经理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()
}会产生
UPDATE(正如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);
}
});
}
}