как прокручивать живые карточки в активности aglass

Я пишу приложение для стекла.

В одном действии я хочу прокручивать несколько карточек (которые были всплывающими окнами в моем приложении для Android).

1) Я думал использовать картыScrollView.

проблема: можно ли установить customView для объекта карты?

2) Думал использовать LiveCard

проблемы:

Можно ли опубликовать их внутри моего приложения, а не на временной шкале?

Есть ли аналог LiveCardsScrollView?

Любая другая идея, как это реализовать?


person Elad Benda    schedule 21.01.2014    source источник


Ответы (1)


Из примера кода Google по адресу https://developers.google.com/glass/develop/gdk/ui/theme-widgets и документацию по API на https://developers.google.com/glass/develop/gdk/reference/com/google/android/glass/widget/CardScrollView и https://developers.google.com/glass/develop/gdk/reference/com/google/android/glass/widget/CardScrollAdapter, кажется, ваш 1) возможен, потому что:

1) Метод CardScrollAdapter public View getView(int position, View convertView, ViewGroup parent) возвращает представление (не карту);

2) Методы get CardScrollView также возвращают View или Object, а не Card;

3) Вы можете заменить private List<Card> mCards; в примере кода (ссылка № 1 выше) на private List<MyView> mViews;

Но в документации по этим ссылкам в качестве примера также используется карта, и слово «карты», похоже, относится к статическим картам. Так что придется тестировать, чтобы узнать наверняка. Однако в ссылке № 1 есть утверждение, в котором говорится: «Вы можете создать стандартную иерархию представлений самостоятельно или использовать класс Card», что предполагает возможность использования пользовательского представления.

Я свяжусь с вами в течение 12 часов после того, как проверю свой Glass сегодня вечером.

Что касается вашего вопроса 2, ответ положительный: вы публикуете прокручиваемый контент внутри своего приложения, а не на временной шкале. Вы можете запустить действие (как в примере кода в ссылке Google № 1) из выбора пункта меню, и меню будет прикреплено к вашей livecard. Затем внутри этого прокручиваемого представления вы можете только проводить влево и вправо, чтобы увидеть другие карточки (или, возможно, пользовательские представления) в прокручиваемом представлении, но не на временной шкале. Вы должны провести пальцем вниз, чтобы выйти из действия (погружения), чтобы вернуться к livecard, затем вы можете провести пальцем влево и вправо и увидеть временную шкалу. Обратите внимание, что вид прокрутки не похож на статические карты и никогда не будет отображаться на временной шкале. Также обратите внимание, что в режиме прокрутки вы можете использовать GestureDetector для захвата других жестов (кроме свайпов влево, вправо и вниз).


Только что подтверждено: в CardScrollView можно добавлять пользовательские представления! Я использовал представление, которое расширяет FrameLayout и расширяет XML-файл макета, и добавил три таких представления в CardScrollView. Он прекрасно работает!

Также попытался добавить пользовательский вид, который выполняет рисунок Canvas, но не смог увидеть его в режиме прокрутки. Позже попробую еще.


Только что протестировано и обнаружено, что вы можете добавлять любые представления в CardScrollView. Я могу добавить 4 пользовательских представления в прокрутку: одну статическую карту, одно представление с рисованием Canvas, одно с рисованием OpenGL ES 1.0 и последнее с OpenGL ES. 2.0 рисунок. Мне приятно это знать! Спасибо за ваш вопрос.

person Jeff Tang    schedule 22.01.2014
comment
Кто-нибудь пробовал использовать CardScrollView с представлениями изображений в качестве внутреннего представления и изображения, загруженного для загрузки изображений? Я пробовал это с картами, но у меня были проблемы с производительностью. - person johnarleyburns; 26.01.2014