Ahmad Shahwaiz
Ahmad Shahwaiz

Reputation: 1492

Blackberry Remove Highlighted Blue Focus

I have a custom ImageButton in which I have placed a png and the hover Image which is transparent from some parts. So when It gets focused it also takes it self with a blue focus. I want to remove that focus blue color but at the same time I want my hoverImage to work!
This is my ImageButton Class: http://codepad.org/mjtIUKLR

Upvotes: 0

Views: 195

Answers (1)

biddulph.r
biddulph.r

Reputation: 5266

A solution that works for me is to add this functionality to the paint method and track whether focus has been gained:

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

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

And then use this in your paint method:

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);
}

In my example above, I am using a custom gradient for highlighting that overrides the default blue colour. In your case you will obviously want to change your image or something.

Upvotes: 2

Related Questions