1.应用有个背景,并且有固定宽度(比如两个屏幕宽度,或者固定1000dip)
2.应用上有多个页,类似Gallery。(这个层的宽度可变,由内容的多少决定)(暂且称为 视图层)
想要的效果:
滚动视图层时,背景随之滚动。
注意:
滚动时,背景的滚动幅度由“视图层”的宽度来决定,就是当视图层滚动到最后时,背景图片也刚刚好滚动到了最后(很显然视图层和背景的宽度不相等)

解决方案 »

  1.   

    这个背景要自己画, 通过视图层的canvas.drawBitmap()去画背景, 这个函数有个参数是x的起始位置, 这个起始位置就是要自己根据视图层当前处于什么位置去计算了...
      

  2.   

    假设背景宽度:wpWidth
    屏幕宽度:screenWidth
    屏幕数量:count那么背景分给每个屏幕的长度为:
    eachLenght = (wpWidth - screenWidth) / count根据这个eachLenght就可以通过canvas.drawBitmap(x, ...)去画壁纸了
      

  3.   

    launcher  分开控制的
    有代码专门去刷新背景的
      

  4.   


    我也想过使用绘制,但是一直想找个更方便的办法。
    除了绘制,还有其他办法嘛?
    还有就是,在move的时候实时绘制,在效率和效果方面会不会有不好的地方啊?
      

  5.   

    Launcher的做法是wallpaper service控制的
    你需要做的应该是利用view的scrollTo方法实现,这样可能最快
      

  6.   

    scroll很早就试过了,这个玩意儿相当坑爹
    scrollTo或By都是整型运动,并不能满足我背景差速运动的效果(会出现视图层到底了,但是背景没有刚好到底,或过早到底的情况,即使是使用算法将这种误差减小也会出现跳格运动的情况)
    看来只能绘制了,