双向滚动列表视图?

5
我正在研究创建一个显示EPG数据的视图。该视图应该具备以下特点:
  • 有一个固定的头部列,用于显示服务名称
  • 有一个固定的头部行,用于显示时间
  • 内容区域应该由等高的TextView组成,宽度可灵活调整,用于显示实际的EPG条目
  • 最重要的是,垂直滚动必须同时滚动头部列,水平滚动必须同时滚动头部行。
除了自己绘制整个视图(在可滚动的情况下),如果能使用线性布局或其他好的方法,我完全不知道该怎么做。
非常感谢任何提示 - 请注意我是一个Android初学者。
2个回答

1

方法一:所有视图(即所有视图)都是预先生成的。

将顶部和左侧的单向ScrollView与双向ScrollView放在一起,并使滚动同步(Android:两个不同视图的同步滚动)。如果您对ScrollView进行子类化并添加自己的ScrollManager来处理通知,则同步滚动并不困难。

缺点:主内容区域内的ScrollViews似乎不是理想选项。整个过程将变得高度资源密集,因为所有项目都需要预先创建才能用于滚动。


1

方法1负责滚动的视图同步,但是它会消耗大量资源(想象一下有30多个频道和每个频道100多个事件的EPG)。

方法2 我能想到的一种方法是-对于主内容区域-使用自定义ArrayAdapter的ListView。自定义适配器可能会返回一个LinearLayout或类似的东西来容纳单个事件。这样,如果将ListView放入水平ScrollView中,滚动仍然可以双向工作,并且至少LinearLayout本身可以被ListView回收利用。

还有更好的方法吗?


1
嘿,我也遇到了同样的问题。正在寻找一些好的工作解决方案(考虑使用TableViewListView来显示频道),并为它们的内容添加行(一个LinearLayout对应一个广播)...不太确定性能如何。你最终是怎么解决的?有关于这个主题的好链接吗? - longi
我已经得到了方法1的工作原型,但在进入方法2的细节之前就放弃了这个项目-很抱歉。 - andig

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接