Из примера кода 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