Android 控制ScrollView滚动的实例详解

在开发中,我们经常需要更新列表,并将列表拉倒最底部,比如发表微博,聊天界面等等,

这里有两种办法,第一种,使用scrollTo():

public static void scrollToBottom(final View scroll, final View inner) {  Handler mHandler = new Handler();  mHandler.post(new Runnable() { public void run() { if (scroll == null || inner == null) { return; } int offset = inner.getMeasuredHeight() - scroll.getHeight(); if (offset < 0) { offset = 0; }  scroll.scrollTo(0, offset); } }); } 

第一种实现相对比较麻烦,更推荐使用第二种方式,使用fullScrol()

下面我们看一下这个函数:

scrollView.fullScroll(ScrollView.FOCUS_DOWN);滚动到底部scrollView.fullScroll(ScrollView.FOCUS_UP);滚动到顶部

需要注意的是,该方法不能直接被调用因为Android很多函数都是基于消息队列来同步,所以需要一部操作,addView完之后,不等于马上就会显示,而是在队列中等待处理,虽然很快,但是如果立即调用fullScroll, view可能还没有显示出来,所以会失败,应该通过handler在新线程中更新

handler.post(new Runnable() {   @Override   public void run() {     scrollView.fullScroll(ScrollView.FOCUS_DOWN);   } }); 

如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望通过本文能帮助到大家,谢谢大家对本站的支持!

更多相关文章

  1. Android(安卓)NDK开发之旅28--C++--vector容器、queue队列、stac
  2. Android(安卓)输入系统(一)InputManagerService
  3. Android(安卓)Wi-Fi Display(Miracast)介绍
  4. 如何监听Phone的状态,第三方App如何拨打/接听电话?
  5. Android中Looper、Handler、Thread、Message的分析
  6. android调用matlab中的函数方法
  7. Volley的基本使用
  8. Android(安卓)exfat移植指南
  9. Android媒体扫描代码分析

随机推荐

  1. android中editText弹出软键盘并且根据edi
  2. Android(安卓)APP都有的引导、欢迎界面
  3. Android开发之adb命令
  4. 《每天进步一点点》---android之Fragment
  5. 屏幕适配备忘录
  6. 网页加速之Link prefetching
  7. [WebView学习之二]:使用Web Apps 支持不
  8. Android(安卓)菜单和对话框等
  9. Android(安卓)SimpleArrayMap源码解析
  10. Android(安卓)在低版本sdk中没有getSuppo