[英]How to make the background black in Blackberry?
我正在开发我的第一个BlackBerry应用程序,并且想要将背景更改为黑色,并将所有文本(在BasicEditField
标签, Label
BasicEditField
更改为白色。
我尝试在VerticalFieldManager
上使用setBackground(Background bg)
方法,但是它只会使屏幕变黑。 也就是说,如果我只有两个按钮,一个按钮在另一个按钮之下,那么背景到按钮末端的背景都是黑色。 因此,当屏幕上的组件较少时,屏幕将为一半黑色和一半白色。
有什么办法可以实现我想要的行为:
任何帮助,不胜感激!
此代码会将您的背景设置为黑色,editfield设置为白色
VerticalFieldManager backg = new VerticalFieldManager(Field.USE_ALL_WIDTH | Field.USE_ALL_HEIGHT){
public void paint(Graphics graphics) {
graphics.setBackgroundColor(Color.BLACK);
graphics.clear();
super.paint(graphics);
}
};
现在将editfield添加为
EditField edit= new EditField("", "", 100, Field.FOCUSABLE){
protected void paintBackground(Graphics g) {
g.setBackgroundColor(Color.WHITE);
g.clear();
}
backg.add(edit);
add(backg);
使用g.setColor(Color.WHITE);
用于更改字体颜色。
Signare的版本适用于较早的版本,但是从OS 4.6开始,还有另一个选项。 检出net.rim.device.api.ui.decor包中的类。
我正在使用它来更改我的程序之一上的屏幕背景:
public class MyScreen extends MainScreen {
MyScreen() {
Background screenColor = BackgroundFactory.createSolidBackground(Color.Black);
Manager backg= getMainManager();
backg.setBackground(screenColor);
EditField edit = new EditField("", "", 100, Field.FOCUSABLE){
protected void paint(Graphics g) {
g.setColor(Color.WHITE);
super.paint(g);
}
};
Background fieldColor = BackgroundFactory.createSolidBackground(Color.BLACK);
edit.setBackground(fieldColor);
backg.add(edit);
}
}
您所有的字段都具有.setBackround()
和.setBorder()
方法,使您可以进行一些不错的自定义。 我发现这种方法比只为了更改背景颜色而子类化所有组件要容易。 不幸的是,您仍然必须这样做才能更改EditField
或LabelField
的文本颜色。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.