在用户发布滚动点击后,有没有办法将第一个可见的ListView项目(或者如果其可见区域小于一半:对齐第二项)与LinearLayout右上角对齐?
我正在努力做到这一点,因为它显示了一些顶级项目的烦人。
我认为如果这个解决方案存在,那就像画廊动画一样,但在这种情况下我真的不能使用画廊,因为它必须是垂直的。
有什么想法吗?
提前致谢!
答案 0 :(得分:2)
您可以使用ListView的以下功能:
getFirstVisiblePosition() :这将为您提供第一个可见项目。
getChildVisibleRect(查看子项,矩形r,点偏移量) : 这将为您提供可见的矩形。对于那个观点。你可以查看宽度和宽度。具有可见部分的视图高度。然后通过以下函数决定是否需要显示该项目。
requestRectangleOnScreen(Rect矩形,布尔值立即) :这将拉出listview中的视图,使其完全可见。
可能会有所帮助。
答案 1 :(得分:0)
您是否尝试将 android:smoothScrollbar 属性设置为false(通过defualt确定为真)。
设置为false时,列表将仅使用中的项目数 适配器和屏幕上可见的项目数量来确定 滚动条的属性。
此外,你可以玩 android:fadingEdge 和 android:fadingEdgeLength 它可能会做很多代码。