我的目标是在屏幕中心下方80像素处设置一个闪屏。加载屏幕的背景图像和动画gif非常简单,将动画gif 80px定位在中心下方也是如此。我的问题是VerticalFieldManager背景(包含动画gif字段)填充所有白色(默认情况下)。我可以设置管理器的背景颜色,但屏幕的背景图像不仅仅是一种纯色。
public final class SplashScreen extends MainScreen {
public SplashScreen() {
// create and load the background image BitmapField
this.add(backgroundImage);
// create and load the progress bar
BitmapField progressBar = new BitmapField(progressBarImage, Field.FIELD_HCENTER | Field.USE_ALL_WIDTH | Field.NON_FOCUSABLE);
VerticalFieldManager manager = new VerticalFieldManager(Field.USE_ALL_WIDTH | Field.FIELD_HCENTER) {
protected void sublayout(int maxWidth, int maxHeight) {
// positioning code...
}
};
manager.add(progressBar);
this.setStatus(manager);
}
}
我尝试过各种subpaint()覆盖设置图形,但似乎无法设置除纯色之外的其他任何内容。调用setGlobalAlpha()也没有所需的结果(如其他帖子中所述)。
有什么想法吗?
答案 0 :(得分:1)
您可以尝试使用paintBackground
方法绘制所有背景图像和颜色。
protected void paintBackground(Graphics g) {
g.setGlobalAlpha(255);
g.setColor(backgroundColor);
... more background drawing ...
}
答案 1 :(得分:0)
要修改屏幕背景,请使用
this.getMainManager().setBackground(...);
您应该能够设置和成像一种颜色,无论您需要什么背景到屏幕。