如何将第一个可见的ListView项与LinearLayout顶部对齐?

时间:2011-10-18 18:13:30

标签: android listview animation

在用户发布滚动点击后,有没有办法将第一个可见的ListView项目(或者如果其可见区域小于一半:对齐第二项)与LinearLayout右上角对齐?

我正在努力做到这一点,因为它显示了一些顶级项目的烦人。

我认为如果这个解决方案存在,那就像画廊动画一样,但在这种情况下我真的不能使用画廊,因为它必须是垂直的。

有什么想法吗?

提前致谢!

2 个答案:

答案 0 :(得分:2)

您可以使用ListView的以下功能:

getFirstVisiblePosition() :这将为您提供第一个可见项目。

getChildVisibleRect(查看子项,矩形r,点偏移量) : 这将为您提供可见的矩形。对于那个观点。你可以查看宽度和宽度。具有可见部分的视图高度。然后通过以下函数决定是否需要显示该项目。

requestRectangleOnScreen(Rect矩形,布尔值立即) :这将拉出listview中的视图,使其完全可见。

可能会有所帮助。

答案 1 :(得分:0)

您是否尝试将 android:smoothScrollbar 属性设置为false(通过defualt确定为真)。

  

设置为false时,列表将仅使用中的项目数   适配器和屏幕上可见的项目数量来确定   滚动条的属性。

此外,你可以玩 android:fadingEdge android:fadingEdgeLength 它可能会做很多代码。