Создать прозрачный главный экран в Blackberry - PullRequest
0 голосов
/ 12 июля 2011

Я хочу создать тип MainScreen в моем Blackberry app, который должен быть Transparen/Translucent. Я попытался с помощью следующего кода на конструкторе MyCustomMainScreen's, но он по-прежнему показывает белый экран

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

Я прочитал на форуме, а также проверил его на всплывающих экранах, и он отлично работает с ними, но не с mainscreens. У кого-нибудь есть идеи, как этого добиться для MainScreen ..?

-Большой O

Ответы [ 3 ]

3 голосов
/ 12 июля 2011

переопределить метод рисования как:

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 голос
/ 05 сентября 2013

Я нашел решение без переопределения метода paint. Вам нужно установить прозрачный фон для экрана и полупрозрачный для главного менеджера:

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

// Manager translucent background
getMainManager().setBackground(BackgroundFactory.createSolidTransparentBackground(Color.BLACK, 50));    
1 голос
/ 12 июля 2011

вместо

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

может лучше

Background bg = BackgroundFactory.createSolidTransparentBackground(Color.BLACK, 50);
getMainManager().setBackground(bg);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...