黑莓删除突出显示的蓝色焦点

时间:2013-01-29 14:30:44

标签: blackberry focus imagebutton

我有一个自定义的ImageButton,我在其中放置了一个png和悬停的Image,它从某些部分透明。因此,当它被聚焦时,它也会以蓝色焦点自我。我想删除那个焦点蓝色,但同时我想让我的hoverImage工作!
这是我的ImageButton类:http://codepad.org/mjtIUKLR

1 个答案:

答案 0 :(得分:2)

对我有用的解决方案是将此功能添加到paint方法并跟踪是否已获得焦点:

boolean hasFocus = false;
public void onFocus(int direction) {
    invalidate();
    hasFocus = true;
}

public void onUnfocus() {
    hasFocus = false;
    invalidate();
    super.onUnfocus();
}

然后在你的绘画方法中使用它:

public void paint(Graphics graphics) {
    if (hasFocus){
        graphics.drawShadedFilledPath(xPositions, yPositions, null,      
                                      HIGHLIGHTED_GRADIENT, null);
    }else{
        graphics.drawShadedFilledPath(xPositions, yPositions, null,      
                                      GRADIENT, null);      
    }
   super.paint(graphics);
}

在上面的示例中,我使用自定义渐变突出显示,覆盖默认的蓝色。在你的情况下,你显然想要改变你的形象。