我已经能够使用粗体,下划线和斜体文本为LabelField设置样式,但我还没有找到指定删除线文本的方法。我找不到任何支持的文档或其他任何实现它的示例。是否可以在BlackBerry OS 4.6或4.7中显示带有删除线效果的文本?
答案 0 :(得分:2)
我认为BB方式不是对组件进行样式化,而是扩展它们 - 所以解决方案可能是:
package mypackage;
import net.rim.device.api.ui.*;
import net.rim.device.api.ui.component.*;
import net.rim.device.api.ui.container.*;
import net.rim.device.api.ui.decor.*;
public class MyApp extends UiApplication {
public static void main(String[] args) {
MyApp myApp = new MyApp();
myApp.enterEventDispatcher();
}
public MyApp () {
pushScreen(new MyScreen());
}
}
class MyScreen extends MainScreen {
public MyScreen() {
LabelField myLabel = new LabelField("Strike me") {
protected void paint(Graphics g) {
super.paint(g);
int w = getFont().getAdvance(getText());
g.drawLine(0, getHeight()/2, w, getHeight()/2);
}
};
add(myLabel);
}
}
更新:您也可以使用
Font f = g.getFont();
Font s = f.derive(Font.STRIKE_THROUGH);
g.setFont(s);