Android ScrollView显示到底部或任意位置实现代码

 更新时间:2017年02月24日 15:44:04   投稿:lqh  
这篇文章主要介绍了 Android ScrollView显示到底部或任意位置实现代码的相关资料,需要的朋友可以参考下

 Android ScrollView显示到底部或任意位置

其实使ScrollView显示底部并不难。它有自己的方法fullScroll():

    1、显示顶部:

scrollView.fullScroll(ScrollView.FOCUS_UP); 

    2、显示底部:

scrollView.fullScroll(ScrollView.FOCUS_DOWN); 

          但是,有一点一定需要注意。这个方法不能直接调用,因为在Android里面,他的很多函数都是基于消息队列来实现的,也就是说fullScroll()这个方法在很大的几率(这个几率一般情况在99%以上了再见)上会执行在ScrollView显示之前。那么他就不起作用了。就会造成很常见的问题,显示底部失败。于是乎,就想到了让这个方法延迟启动,通过handler来启动:

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

      3、显示任意位置scrollTo(),这个和上面说的一样,一定要在addView完成,显示以后调用才有效

   /* 
   *@params sl ScrollView 
   *    ll ScrollView包含的子View,我的是LinearLayout 
   */ 
   public void scrollToBottom(final View sl, final View ll) { 
Handler mHandler = new Handler(); 
mHandler.postDelayed(new Runnable() { 
  public void run() { 
    if (sl== null || ll == null) { 
      return; 
    } 
               //end要显示的位置,可以根据自己的需要来计算 
               int end = (ll.getMeasuredHeight() - sl.getHeight()) / 4; 
    if (end < 0) { 
      end = 0; 
    } 
    sl.scrollTo(0, end); 
  } 
}, 500);//延迟500ms启动 

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

相关文章

  • Android仿支付宝微信支付密码界面弹窗封装dialog

    Android仿支付宝微信支付密码界面弹窗封装dialog

    这篇文章主要介绍了Android仿支付宝微信支付密码界面弹窗封装dialog的实例代码,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2017-03-03
  • android H5本地缓存加载优化的实战

    android H5本地缓存加载优化的实战

    这篇文章主要介绍了android H5本地缓存加载优化的实战,帮助大家更好的理解和学习使用Android,感兴趣的朋友可以了解下
    2021-04-04
  • Android中Service和Activity相互通信示例代码

    Android中Service和Activity相互通信示例代码

    在android中Activity负责前台界面展示,service负责后台的需要长期运行的任务。下面这篇文章主要给大家介绍了关于Android中Service和Activity相互通信的相关资料,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-09-09
  • Android仿QQ首页ListView左滑置顶、删除功能

    Android仿QQ首页ListView左滑置顶、删除功能

    这篇文章主要为大家详细介绍了Android仿QQ首页ListView左滑置顶、删除功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-12-12
  • Android Kotlin开发实例(Hello World!)及语法详解

    Android Kotlin开发实例(Hello World!)及语法详解

    这篇文章主要介绍了Android Kotlin开发实例及语法详解的相关资料,需要的朋友可以参考下
    2017-05-05
  • 使用Android WebSocket实现即时通讯功能

    使用Android WebSocket实现即时通讯功能

    即时通讯(Instant Messaging)最重要的毫无疑问就是即时,不能有明显的延迟,要实现IM的功能其实并不难,目前有很多第三方,比如极光的JMessage,都比较容易实现。本文通过实例代码给大家分享Android WebSocket实现即时通讯功能,一起看看吧
    2019-10-10
  • Android判断SD卡是否已经挂载的方法

    Android判断SD卡是否已经挂载的方法

    这篇文章主要介绍了Android判断SD卡是否已经挂载的方法,涉及Android监听方法BroadcastReceiver的相关使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-07-07
  • Android 实现IOS 滚轮选择控件的实例(源码下载)

    Android 实现IOS 滚轮选择控件的实例(源码下载)

    这篇文章主要介绍了 Android 实现IOS 滚轮选择控件的实例(源码下载)的相关资料,需要的朋友可以参考下
    2017-03-03
  • Android自定义控件实现圆形进度CircleProgressBar

    Android自定义控件实现圆形进度CircleProgressBar

    这篇文章主要为大家详细介绍了Android自定义控件实现圆形进度CircleProgressBar,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-05-05
  • Android四大组件之broadcast广播详解

    Android四大组件之broadcast广播详解

    Android开发的四大组件分别是:活动(activity),用于表现功能;服务(service),后台运行服务,不提供界面呈现;广播接受者(Broadcast Receive),勇于接收广播;内容提供者(Content Provider),支持多个应用中存储和读取数据,相当于数据库,本篇着重介绍广播组件
    2022-10-10

最新评论