如何在BlackBerry中将焦点绘制到VerticalFieldManager。
我试过了,但不起作用。
VerticalFieldManager vv=new VerticalFieldManager(Manager.focusFOCUSABLE);发布于 2012-04-25 17:43:36
这就是这样做的方法:
VerticalFieldManager vv=new VerticalFieldManager(FOCUSABLE) {
protected void paintBackground(Graphics g) {
int prevColor = g.getColor();
int bgColor;
if (isFocus()) {
bgColor = Color.Blue;
} else {
bgColor = Color.White;
}
g.setColor(bgColor);
g.fillRoundRect(0, 0, getPreferredWidth(), getPreferredHeight(), 0, 0);
g.setColor(prevColor);
}
public void onFocus(int direction) {
super.onFocus(direction);
this.invalidate();
}
public void onUnfocus() {
super.onUnfocus();
this.invalidate();
}
};
_focusAnchor = new NullField(FOCUSABLE);
add(_focusAnchor);发布于 2012-04-24 21:47:42
您可以尝试对其调用Field.setFocus,但由于管理器是一个容器,我不确定您是否会在它上面看到“焦点”。
如果不起作用,您还可以尝试重写paint方法,并在isFocus返回true时绘制您自己的自定义焦点。
发布于 2012-04-24 21:43:56
试试这个-
VerticalFieldManager vv=new VerticalFieldManager(FOCUSABLE);然后将项目添加到vv。
https://stackoverflow.com/questions/10299091
复制相似问题