在Blackberry中创建透明主屏幕

时间:2011-07-12 04:55:37

标签: blackberry

我想在MainScreen中创建一种Blackberry app类型Transparen/TranslucentMyCustomMainScreen's。 我尝试在Background bg = BackgroundFactory.createSolidTransparentBackground(Color.BLACK, 50); this.setBackground(bg); 构造函数上使用以下代码,但它仍显示白屏

mainscreens

我已经在论坛中阅读并测试了它的弹出屏幕,它可以正常使用但是{{1}}失败了。 有没有人知道如何为MainScreen实现这个目的..?

-Big O

3 个答案:

答案 0 :(得分:3)

覆盖paint方法,如:

class M extends MainScreen
{
        public M() 
        {
            setBackground(BackgroundFactory.createSolidTransparentBackground(Color.ANTIQUEWHITE, 100));
            LabelField l=new LabelField("hello");
            add(l);
        }
        protected void paint(Graphics graphics) 
        {
            super.subpaint(graphics);
        }
  }

答案 1 :(得分:1)

而不是

Background bg = BackgroundFactory.createSolidTransparentBackground(Color.BLACK, 50);
this.setBackground(bg);

也许更好

Background bg = BackgroundFactory.createSolidTransparentBackground(Color.BLACK, 50);
getMainManager().setBackground(bg);

答案 2 :(得分:1)

我发现解决方案没有覆盖paint方法。您需要为屏幕设置完全透明的背景,为主管理器设置半透明:

// Full transparent background
setBackground(BackgroundFactory.createSolidTransparentBackground(0, 0));

// Manager translucent background
getMainManager().setBackground(BackgroundFactory.createSolidTransparentBackground(Color.BLACK, 50));