我已经能够使用粗体、下划线和斜体文本设置 LabelField 的样式,但我还没有找到指定删除线文本的方法。我找不到任何支持它的文档或任何其他实现它的示例。是否可以在 BlackBerry OS 4.6 或 4.7 中显示带有删除线效果的文本?
问问题
623 次
1 回答
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);
于 2011-05-09T14:26:54.410 回答