Можно ли использовать анимированный gif как часть card.addImage(uri) в иммерсионной карте на Glass?

Я пытаюсь использовать следующий документированный API:

https://developers.google.com/glass/develop/gdk/reference/com/google/android/glass/app/Card#addImage%28android.net.Uri%29

аналогично этому сообщению:

NullPointerException при вызове Card.addImage(Uri)

но вместо этого я хотел бы использовать анимированный gif в качестве фона для иммерсионной карты.

Возможно?


person pland    schedule 04.01.2014    source источник


Ответы (1)


Макеты, созданные классом Card, используют ImageView Android для представления своих изображений, а виджет ImageView не поддерживает анимированные GIF-файлы. Вам нужно будет создать свой собственный макет и управлять анимацией вручную.

person Tony Allevato    schedule 05.01.2014
comment
Большое спасибо, Тони. Я вижу, что, возможно, я мог бы использовать класс Android Movie для декодирования потока байтов в представление... но я не могу найти документы на developers.google.com/glass, которые объясняют, как создать собственный макет. У вас есть какие-нибудь указатели? Возможно, это то, что можно решить с помощью настройки темы? Я понимаю, что Glass sdk, конечно, навязывает свою собственную тему ... Я только изучаю gdk и хотел простую иммерсионную карту, воспроизводящую крошечный зацикленный фильм (не обязательно .gif) - person pland; 06.01.2014
comment
Просто добавлю: я понимаю, что вы просто говорите об общем макете Android, так как я только что попытался создать свой собственный, и, конечно же, он появится, если я просто создам свой собственный макет и укажу на него из манифеста (как-то жутко видеть ' обычное приложение для Android с значками использования батареи вверху и все в Glass!) ... так что, я думаю, дело в том, что мне теперь нужно создать макет, соответствующий руководству по стилю Glass для погружения, с экраном 640 × 360 пикселей? - person pland; 06.01.2014
comment
Пока в ваших макетах не указана тема (или не используется Theme.DeviceDefault), вы не должны видеть никаких украшений строки состояния. Что касается макета, вы можете просто создать обычный макет Android, соответствующий рекомендациям по стилю Glass (640 × 360, поля 40 пикселей), и разместить на нем любые виджеты, которые вам нужны. - person Tony Allevato; 06.01.2014
comment
@TonyAllevato Я знаю, что это январь, но есть ли причина, ПОЧЕМУ анимированные GIF не поддерживаются? Мне кажется безумием, что мы не смогли добиться этого, не приложив огромных усилий. - person Stephen Tetreault; 04.11.2014
comment
Это будет запрос функции для Android, а не для Glass, поскольку CardBuilder использует стандартный ImageView под капотом для своих мозаик. Если вы хотите иметь поддержку анимированных GIF, я бы порекомендовал подать запрос на функцию в системе отслеживания проблем Android. - person Tony Allevato; 04.11.2014