一个屏幕中的三个列表视图

时间:2011-10-13 12:17:23

标签: android layout

我在iPhone上有一个带有级联设计的应用程序,如图所示,我想将其移植到Android。有没有一种简单的推荐方法呢?

左侧的部分菜单(部分A,B,C,D)是用户需要选择的第一部分,然后用户需要在中间选择一个类别(全部,流行,个人电脑,xbox,。 ..),然后他会看到所选类别的文章列表。

我可以想象用三个ListView来做这件事,但是应用程序也可以听一个轻扫手势,使最右边的ListView“全屏”,并隐藏前两个列表视图。我可以为整个活动实现一个滑动侦听器,并将前两个listviews的可见性设置为隐藏,对吧?

我的假设是否正确,这是正确的做法吗?

enter image description here

2 个答案:

答案 0 :(得分:1)

它可以肯定地解释它的方式 - 如果设计是好的是另一个讨论。我个人不喜欢在一个屏幕上投入无数的数据,当空间与大多数手机一样有限时(我可能会用3个不同的屏幕,每个屏幕上都有一个ListView)

实现上面提到的滑动手势是可行的,您当然可以使用函数setVisibility( View.GONE )隐藏另外两个ListView。

希望它有所帮助。

答案 1 :(得分:0)

  1. 你可能想要使用新的片段API,它专门为这类东西而构建(并且它一直兼容到Android 1.6)。此外,正如KasperMoerch所说,将所有信息放在小屏幕上会变得很难看。使用片段可以让您在屏幕尺寸增加时更容易逐渐增加显示的信息量。
  2. 我不确定你是否可以在整个活动中倾听滑动手势。我认为你必须将片段包装在自定义视图中(例如扩展的LinearLayout)并在那里进行轻扫。然而,实现手指跟踪动画(即最右边的窗格在扫过时精确跟随手指)是一项非常艰巨的任务(我不知道从哪里开始,可能在自定义视图中)。我认为最好的方法是做出妥协,然后在检测到滑动时启动动画(从右到左滑动)。但是,最简单的解决方案是根本不动画。
  3. 您还可以考虑完全放下滑动手势,只需提供“展开”按钮。