1.为了实现类似IOS点击状态栏,列表回滚到顶部的功能(要平滑滚动效果),android上点击一个按钮或是图片什么的也可以让listview一次性滚动到顶部(滑动太多页时,一次可能滚不到顶部,使用handler定时监听,继续滚动,直至回到顶部)

public static void scrollToListviewTop(final AbsListView listView)

{

listView.smoothScrollToPosition(0);

final Handler handler = new Handler();

handler.postDelayed(new Runnable()

{

@Override

public void run()

{

if (listView.getFirstVisiblePosition() > 0)

{

listView.smoothScrollToPosition(0);

handler.postDelayed(this, 100);

}

}

}, 100);

}

此方法的优点是:适用于任何的listview(item单一样式的,多种样式的都可以),而且不存在界面显示问题

缺点是:滑动数据量很大时,回滚时间会比较长。

2.对于单一样式且数据较少的listview,滑动停止时可以计算出滚动的高度,回滚时使用listView.smoothScrollBy(getScrollY(), 500);

listview滚动高度原理是假设每个item的高度是一定的(多数情况下的确如此),那么只要知道当前在第几个item,就可以计算出总的高度,因为第一个可见item的一部分可能已经移出了边界,所以再通过mListView.getChildAt(0)获得第一个子view,使用getTop()方法计算出这个偏差(得到的一般是负数)。因为是回滚,所以最后滚动距离要是负数,另外可能会有一定的误差,适当的加上个负数,综合起来就可以计算出当前ListView的滚动高度。这种滚动效果比较自然,快到顶部时滚动速度越来越慢,最后停止。

public int getScrollY()

{

View c = listView.getChildAt(0);

if (c == null)

{

return 0;

}

int firstVisiblePosition = listView.getFirstVisiblePosition();

int top = c.getTop();

if (firstVisiblePosition == 0)

{

return top;

}

else

{

return top - (firstVisiblePosition - 1) * c.getHeight() - 17;

}

}

3.如果只要求回到顶部,不需要滚动效果的话,很简单,只需要调用listview.setSelection(0)就ok了。

原文:http://www.cnblogs.com/july2012/p/4081929.html

android listview 移动到顶部,android listview滚动到顶部相关推荐

  1. JavaScript中的scrollTop(js中的scrollTop,滚动到顶部,javascript滚动到顶部)

    简述:scrollTop是JavaScript中一个非常有用且重要的方法,它用于获取或设置元素的垂直滚动条位置,实现各种滚动相关的功能,无论是回到顶部.滚动到指定位置还是监听滚动事件,都需要用到scr ...

  2. android列表滑到底部,Android中判断listview是否滑动到顶部和底部的实现方法

    今天实现listview的下拉刷新和上拉加载的时候,遇到了一个问题,*就是说需要根据listview中滑动的位置来进行下拉刷新和上拉加载.* 具体点,只有当我的listview滑动到最顶部的时候,这时 ...

  3. Android自定义ListView示例,以创建不可滚动的ListView

    In this tutorial we'll override the ListView class to suit it according to our requirements in the a ...

  4. android布局 listview,安卓布局如何让 listview 和listview上的布局一起滚动

    xml布局如下 但是不能实现我说的listview 和上面布局一起滚动 android:layout_width="match_parent" android:layout_hei ...

  5. android listview左右滑动动画效果,Android基于ListView实现类似QQ空间的滚动翻页与滚动加载效果...

    本文实例讲述了Android基于ListView实现类似QQ空间的滚动翻页与滚动加载效果.分享给大家供大家参考,具体如下: 1. 滚动加载 listView.setOnScrollListener(n ...

  6. android listview自定义顶部,Android自定义Adapter的ListView的思路及代码

    在开发中,我们经常使用到ListView这个控件.Android的API也提供了许多创建ListView适配器的快捷方式.例如ArrayAdapter.SimpleAdapter和SimpleCurs ...

  7. [转载]Android: 如何实现ScrollView中含有ListView?

    原文地址:Android: 如何实现ScrollView中含有ListView?作者:mailofzxf ListView本身就含有ScrollView,因此把ListView放到ScrollView ...

  8. Android 使用NineOldAndroids实现绚丽的ListView左右滑动删除Item效果

    转载请注明本文出自xiaanming的博客(http://blog.csdn.net/xiaanming/article/details/18311877),请尊重他人的辛勤劳动成果,谢谢! 今天还是 ...

  9. Android 使用Scroller实现绚丽的ListView左右滑动删除Item效果

    本文出自xiaanming的博客(http://blog.csdn.net/xiaanming/article/details/17539199) 我在上一篇文章中Android 带你从源码的角度解析 ...

最新文章

  1. 热力图和相关系数分析
  2. Docker过程汇总
  3. DB2 数据库清表语句
  4. windows网关详解 【了解网关的重要性,增加网络性能】【FreeXploiT综合文】
  5. SQL Server 2005 Beta 2 Service Broker: Stored Procedure acts as a service program
  6. linux代码折叠,Sublime代码折叠
  7. 苹果计算机 win10,苹果电脑怎么安装Win10系统?
  8. matlab plot bo,Matlab的plot~各种颜色和线形
  9. 无主之地计算机中丢失,”无主之地3“游戏存档丢失!解决方法汇总
  10. 以计算机思维思考当下面向未来,面向未来的核心素养:从运算能力到计算思维...
  11. input的onkeyup事件
  12. linux下go语言入门,Go语言入门之旅(二):环境搭建-Linux篇
  13. 物联网通信协议(接入协议)
  14. css关于图片处理的相关知识
  15. C语言100题打卡—第7题
  16. 使用rke部署k8s集群
  17. 中国人民公安大学 网络对抗 实验报告 三
  18. 《WCDMA空中接口技术》读书笔记6: R99 信道与信道解码
  19. 第4章第27节:异形图表:使用图片来制作一份富有创意的图表 [PowerPoint精美幻灯片实战教程]
  20. Python画风车,方便快捷

热门文章

  1. 如何设计好分布式数据库,这个策略很重要
  2. 中俄国际社区大佬共话Java,苦Lambda表达式久矣?
  3. 从需求到交付——论敏捷过程中的需求管理
  4. 【华为云网络技术分享】HTTP重定向HTTPS配置指南
  5. 新计算 新网络 新旗舰:华为云C6实例首测
  6. 基于Matlab的跨孔CT胖射线追踪算法(五)
  7. python下路径问题及模型存储
  8. pandas最常用的几个功能,随时翻阅就差不多弄懂了pandas的75%左右
  9. 机器学习十大经典算法之决策树
  10. 使用WORD封面自带模板?