1

黑莓中的默认高亮颜色是蓝色。我目前正在做一个主色为红色的应用程序。有没有办法将荧光笔颜色更改为红色?我用谷歌搜索并找到了 ListField 的解决方案,对于其他字段,如按钮、textFields、bitmapFields 等……怎么样?

4

2 回答 2

3

在黑莓论坛上找到了这个实现,试过了,效果很好。但是您需要为每个想要使用不同荧光笔的字段覆盖此方法。

protected void drawFocus( Graphics g, boolean on ) {    
    XYRect focusRect = new XYRect();                
    getFocusRect( focusRect );                
    int yOffset = 0;                

    if ( isSelecting() )     
    {        
        yOffset = focusRect.height >> 1;        
        focusRect.height = yOffset;        
        focusRect.y += yOffset;    
    }                
    g.pushRegion( focusRect.x, focusRect.y, 
                  focusRect.width, focusRect.height, 
                  -focusRect.x, -focusRect.y );   
    g.setBackgroundColor(/*your color here*/);    
    g.setColor( 0xFFFFFF );    
    g.clear();                
    this.paint( g );                
    g.popContext();
}
于 2013-01-23T15:42:42.850 回答
2

您可以覆盖Field.drawFocus您的自定义字段:

protected void drawFocus(Graphics g, boolean on) {
    // Custom focus painting
}
于 2013-01-23T13:16:43.810 回答