如何在玻璃活动中滚动活卡

时间:2014-01-21 15:48:44

标签: java android android-layout scrollview google-gdk

我正在写一个玻璃应用程序。

在一项活动中,我想在几张卡片之间滚动(这是我的Android应用程序中的弹出窗口)。

1)我想用cardsScrollView。

问题:是否可以将customView设置为卡片对象?

2)我想使用LiveCard

问题:

是否可以在我的应用内发布它们,而不是在时间轴中发布?

是否有等效的LiveCardsScrollView?

还有其他想法如何实现这个?

1 个答案:

答案 0 :(得分:2)

来自Google https://developers.google.com/glass/develop/gdk/ui/theme-widgets的示例代码以及https://developers.google.com/glass/develop/gdk/reference/com/google/android/glass/widget/CardScrollViewhttps://developers.google.com/glass/develop/gdk/reference/com/google/android/glass/widget/CardScrollAdapter的API文档,似乎您的1)是可能的,因为:

1)CardScrollAdapter的方法public View getView(int position, View convertView, ViewGroup parent)返回一个视图(不是卡片);

2)CardScrollView的get方法也返回一个View或Object,而不是Card;

3)您可以使用private List<Card> mCards;

替换示例代码中的private List<MyView> mViews;(上面的链接#1)

但这些链接的文档也使用Card作为示例,而单词卡似乎是指静态卡。因此必须进行测试才能确定。但是,链接#1中有一条声明说“您可以自己构建标准视图层次结构或使用Card类。”,建议可以使用自定义视图。

今晚我用玻璃杯测试后,我会在12小时内回复你。

关于您的问题2,答案是肯定的 - 您在应用内发布可滚动内容,而不是在时间轴中发布。您可以从菜单项选择中启动活动(如Google链接#1中的示例代码),菜单将附加到您的实时卡。然后在滚动视图中,您只能向左和向右滑动以在滚动视图中查看其他卡片(或可能是自定义视图),但不能查看时间轴。您必须向下滑动才能退出活动(沉浸式)以返回到livecard,然后您可以向左和向右滑动并查看时间轴。请注意,滚动视图与静态卡不同,并且永远不会在时间轴中显示。另请注意,在滚动视图中,您可以使用GestureDetector捕获其他手势(除了向左和向右滑动以外)。


刚刚确认:可以将自定义视图添加到CardScrollView!我使用了一个扩展FrameLayout并扩展布局xml文件的视图,并向CardScrollView添加了三个这样的视图。它工作得很好!

还尝试添加一个自定义视图来执行Canvas绘图,但是无法在滚动视图中看到它。稍后再尝试。


刚刚测试过,发现你可以在CardScrollView中添加任意视图 - 我可以在滚动视图中添加4个自定义视图:一个静态卡,一个带有Canvas绘图的视图,一个带有OpenGL ES 1.0绘图,最后一个使用OpenGL ES 2.0绘图。这对我很有用!谢谢你的提问。