好久不见了,又来问大家问题。下面说正题这是一张背景图,我用ListView实现,总是不能达到效果,我想要达到的效果是,每次向下拖动时,上面的子View都会自动停在中间那块地方(> 中间 <),而原来在中间的子View会跑到下面,以此类推,如果向上拖动也一样。
可是我用ListView总不能实现,子View可以跑到任何地方,不能预期效果,谢谢各位!真的很急,路过的朋友给个思路也行。可能有说的不明白的地方,大家可以提出来。最后还是要谢谢大家的热情。

解决方案 »

  1.   

    为什么不考虑重写DatePicker和TimePicker呢?
    我记得这两个的效果就是这样的吧
      

  2.   

    其实使用listview就可以了,你可以把这个图当成一个整体,然后重写一下onTouchEvent().
      

  3.   

    请问下重写的onTouchEvent里逻辑应该怎么写?
      

  4.   

    看过gallery的源码实现吗?
    在gallery中有一个方法scrollIntoSlots,它就是把gallery的item移到特定的位置(gallery是在中间)。
    所以说你可以研究一下gallery的源码。
    listview的代码不有仔细研究过,但我相信应该差不多。时面也会有一个FlingRunnable来设计fling的速度等。
    总之,开源的东西,尽量去看源代码,这比什么都强。
      

  5.   

    你都知道是要Gallery的效果为什么不去看源码呢
      

  6.   

    继承ViewGroup,拦截touch事件,松手的时候做一下判断,用Scroller滑到你要的位置
      

  7.   

    我感觉这个思路可行,不过还是没有完全理解,
    首先继承ViewGroup,这个ViewGroup该会有多少个元素呢,因为假如是ListView的话,元素是变化的。
    其次你说的Scroller是怎么和ViewGroup挂钩的,它怎么才能控制ViewGroup的位置恩。
    谢谢了