Как приостановить анимацию gif, когда кнопка деактивирована, и как выровнять центр по вертикали gif относительно кнопки LWUIT? - PullRequest
0 голосов
/ 26 сентября 2011

Я поместил анимированный gif в Редактор ресурсов. Я создал кнопку на основе этого gif изображения, и у кнопки также есть текст:

r = Resources.open("/resources.res");
uploadImg = r.getImage("upload");
envoieBtn = new Button("Envoyer", uploadImg);
envoieBtn.setTextPosition(Label.BOTTOM);
envoieBtn.setAlignment(Label.CENTER);

Эта кнопка помещается на главный экран, и эта кнопка не активируется до тех пор, пока база данных мобильных телефонов (RecordStore) не будет заполнена с помощью третьей кнопки (первый столбец второй строки в захваченном изображении) на главном экране.

Моя проблема в том, что даже если кнопка envoieBtn отключена, изображение на ней анимируется (красная стрелка все еще движется вверх)! Так как же приостановить анимацию изображения gif?

Мой второй вопрос - как центрировать изображение внутри кнопки, потому что на захваченном изображении мы видим, что изображение не центрируется, как текст кнопки.

Вот захваченное изображение:

enter image description here

1 Ответ

0 голосов
/ 29 сентября 2011

Вы можете приостановить анимацию, переопределив animate в кнопке и избегая вызова super, просто всегда возвращайте false.GIF больше не будет анимироваться (вы можете сделать это условно для отключенных кнопок).

Так как выравнивание определяется содержимым, вы не можете выровнять кнопку с изображением к одной без изображения, так как расположение текстаопределяется по изображению.Я предлагаю вам создать прозрачный объект изображения точно такого же размера и назначить его кнопкам, на которых нет изображения.

...