2011-05-09 44 views
1

我已經能夠使用粗體,下劃線和斜體文本來設置LabelField的樣式,但我還沒有找到指定 刪除線 文本的方法。我一直無法找到任何支持的文檔或其實施的其他示例。是否可以在BlackBerry OS 4.6或4.7中顯示帶有刪除線效果的文本?是否可以刪除LabelField中的文本?

回答

2

我覺得BB的方法是不樣式組件,但擴展它們 - 這樣的解決方案可能是:

enter image description here

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); 
+0

謝謝。這似乎很簡單。我很感激幫助。 :) – fauxriginal 2011-05-09 14:37:35

+1

沒問題,g.drawLine(0,getHeight()/ 2,getWidth(),getHeight()/ 2);對我來說工作也不錯(即省略了font-thingie) – 2011-05-09 15:16:26

相關問題