java - 透明 VerticalFieldManager 背景

标签 java blackberry

我的目标是在屏幕中心下方 80 像素处显示一个带有动画 gif 的闪屏。加载屏幕的背景图像和动画 gif 很容易,将动画 gif 放置在中心下方 80 像素处也很容易。我的问题是 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() 也没有达到预期的结果(如其他帖子中所述)。

有什么想法吗?

最佳答案

您可以尝试使用paintBackground方法来绘制所有背景图像和颜色。

protected void paintBackground(Graphics g) {
    g.setGlobalAlpha(255);
    g.setColor(backgroundColor);
    ... more background drawing ...
}

关于java - 透明 VerticalFieldManager 背景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3508260/

相关文章:

Windows下的Blackberry Emulator测试网站

java - 黑莓计算器

user-interface - 启动画面不仅会消失,还会淡入/淡出

java - quarkus 2.1.4 - mvnw quarkus :dev not working on windows 10

java - 使用 AWS Sdk 调用 AWS Lambda 时的 NoSuchMethod

java - 如何将多个项目添加到 DefaultComboBoxModel

java - 什么是非最终变量?

java - JAXB:具有文本内容和属性的元素,使用 XJC 生成类

java - 是否可以在 jax-ws web-service 中动态添加参数?

testing - 黑莓网络测试