Версия 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
.