1
我已經能夠使用粗體,下劃線和斜體文本來設置LabelField的樣式,但我還沒有找到指定
刪除線
文本的方法。我一直無法找到任何支持的文檔或其實施的其他示例。是否可以在BlackBerry OS 4.6或4.7中顯示帶有刪除線效果的文本?是否可以刪除LabelField中的文本?
我已經能夠使用粗體,下劃線和斜體文本來設置LabelField的樣式,但我還沒有找到指定
刪除線
文本的方法。我一直無法找到任何支持的文檔或其實施的其他示例。是否可以在BlackBerry OS 4.6或4.7中顯示帶有刪除線效果的文本?是否可以刪除LabelField中的文本?
我覺得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);
}
}
UPDATE:您還可以使用
Font f = g.getFont();
Font s = f.derive(Font.STRIKE_THROUGH);
g.setFont(s);
謝謝。這似乎很簡單。我很感激幫助。 :) – fauxriginal 2011-05-09 14:37:35
沒問題,g.drawLine(0,getHeight()/ 2,getWidth(),getHeight()/ 2);對我來說工作也不錯(即省略了font-thingie) – 2011-05-09 15:16:26