让我的应用程序在滚动视图中显示所有图像或不显示任何图像

时间:2011-08-04 15:04:10

标签: android xml scrollview

我目前在单独的表格视图中的水平线中有10个图像,这是滚动视图的一部分。现在,如果我向右滚动并释放,应用程序将停在任何地方(有时当它在图像中间时,所以只剩下该图像的一半)。

理想情况下,它应该做的是当我松开手指以显示它有一半或没有它的所有图像时“反弹”。我想最简单的方法是根据它滚动的距离来决定做什么。例如,如果我有一个201dp宽度的图像,并且当该图像的150dp仍然可见时我停止滚动,它应该反弹以显示所有图像。或者,如果只有20dp的图像可见,则反弹应恢复为不显示图像并恢复到屏幕上的另一个图像(就像BBC应用程序一样)。

另一种解释方法是考虑老虎机。当您旋转卷轴时,它将永远不会停在一个项目的中途,它将始终停在正确的位置以显示所有这些。这就是我需要的。

提前感谢任何可以帮助我解决这个问题的人,我真的很感激!

1 个答案:

答案 0 :(得分:0)

if(scrollX % imageWidth < imageWidth / 2){
    scrollX -= scrollX % imageWidth;
}else{
    scrollX += (scrollX % imageWidth) - imageWidth;
}

这将进行舍入,其中 scrollX 是您在x轴上滚动的距离,imageWidth是所有图像的宽度。