BlackBerry:Hilight显示horizontalFieldManager的背景
我想在滚动时点亮horizontalFieldManager的背景。我尝试了以下代码:BlackBerry:Hilight显示horizontalFieldManager的背景,blackberry,focus,Blackberry,Focus,我想在滚动时点亮horizontalFieldManager的背景。我尝试了以下代码: public class HorizentalFocus extends HorizontalFieldManager{ protected void paint(Graphics g) { g.setBackgroundColor(isFocus() ? 4210231 : 0xFFFFFF); g.getFont(); g.clear(); super.paint(g)
public class HorizentalFocus extends HorizontalFieldManager{
protected void paint(Graphics g) {
g.setBackgroundColor(isFocus() ? 4210231 : 0xFFFFFF);
g.getFont();
g.clear();
super.paint(g);
}
protected void onFocus(int direction) {
invalidate();
super.onFocus(direction);
}
protected void onUnfocus() {
invalidate();
super.onUnfocus();
}
}
它可以工作,但我有两个问题:它不能照亮整个水平场,我想在聚焦时改变文本的颜色
谢谢你的帮助。t谢谢你的编辑inf我的帖子:)@dda尝试设置HorizontalFieldManager-Field.focusable你的代码实际上正在工作,你只需要使用
HorizontalFieldManager。在创建HorizentalFocus
实例时使用\u ALL \u WIDTH
。更改所有文本的文本颜色有点困难。如果对它们使用LabelField
,则根据焦点状态修改绘制时的颜色方法可能会解决您的问题。但是,您需要将这些LabelField
设置为可聚焦。如果您这样做,那么将焦点从一个HorizontalFieldManager移动到另一个将需要更多的up/dowm导航移动事件。如何在不创建实例的情况下使用HorizentalFocus?:)。在您的HorizentalFocus
类上添加一个默认构造函数,它将是这样的,public HorizentalFocus(){super(HorizontalFieldManager.USE_ALL_WIDTH);}
。如果你分享你的代码,它将帮助其他人指导你。是的,最后它的工作得益于你的帮助。谢谢你Rupak&signare我真的很感激:)。谢谢你编辑我的帖子:)@dda尝试设置HorizontalFieldManager-Field.FOCUSABLEYour代码实际上正在工作,你只需要使用HorizontalFieldManager。在创建HorizentalFocus
实例时使用所有宽度。更改所有文本的文本颜色有点困难。如果对它们使用LabelField
,则根据焦点状态修改绘制时的颜色方法可能会解决您的问题。但是,您需要将这些LabelField
设置为可聚焦。如果您这样做,那么将焦点从一个HorizontalFieldManager移动到另一个将需要更多的up/dowm导航移动事件。如何在不创建实例的情况下使用HorizentalFocus?:)。在您的HorizentalFocus
类上添加一个默认构造函数,它将是这样的,public HorizentalFocus(){super(HorizontalFieldManager.USE_ALL_WIDTH);}
。如果你分享你的代码,它将帮助其他人指导你。是的,最后它的工作得益于你的帮助。谢谢你Rupak&signare我真的很感激:)。