Манипулирование непрозрачностью в Blackberry 5 - PullRequest
1 голос
/ 20 декабря 2011

Я создаю тикер новостей, который должен быть реализован в Blackberry 5. При переходе от одного элемента к другому я смотрю на постепенное исчезновение / постепенное исчезновение при переходе.В основном из-за проблем с поиском ресурсов для создания анимации в справочнике по Blackberry 5.

основной поток, на который я смотрю:

public void updateUI() {
 //fade out
 //set values
 //fade in
}

Пока у меня есть все элементы пользовательского интерфейсавнутри HorizontalFieldManager.Я пробовал копаться в полевых и графических документах, но не нашел того, что искал.

Имейте в виду, поддержка Blackberry 5 - это требование клиента, а не мое.

1 Ответ

1 голос
/ 20 декабря 2011

Вам нужно явно обрабатывать анимацию, используя таймер для переходов.

Мое типичное решение - что-то вроде этого (внутри метода paint ()):

final long time = System.currentTimeMillis();
final int alpha;
if (startFadeIn != 0) {
    alpha = (int) Math.min((time - startFadeIn) / SPEED, 255);
       if (alpha < 255) {
           invalidate();
       }
} else if (startFadeOut != 0) {
    alpha = (int) Math.max(255 + (startFadeOut - time) / SPEED, 0);
    if (alpha > 0) {
        invalidate();
    }
} else {
    alpha = 255;
}
graphics.setGlobalAlpha(alpha);

Сжигает некоторые циклы процессора (на короткое время), но работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...