繁体   English   中英

如何在Blackberry中使背景变黑?

[英]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()方法,使您可以进行一些不错的自定义。 我发现这种方法比只为了更改背景颜色而子类化所有组件要容易。 不幸的是,您仍然必须这样做才能更改EditFieldLabelField的文本颜色。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM