注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

早衰男的巢

大音希声 道隐无名

 
 
 

日志

 
 

Android笔记:ScrollView 的scrollTo(x,y)初始化方法  

2014-04-27 18:39:52|  分类: android笔记 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

想在onResume()里对一个scrollview的滚动位置设置一个初始值,但用scrollTo无论如何都无效。而scrollTo用按钮来触发的话是没有问题的。

?

查了一下在 stackoverflow 也有一些同学遇到类似的状况,但解决方法…好像把问题更复杂化了—— 用添加 addOnGlobalLayoutListener 的onGlobalLayout来触发。

好像很麻烦的样子。

又再国内论坛咨询了一下…没人鸟我,只好继续搜,oh 原来有个比较简便的方法实现

  1: @Override
  2: protected void onResume(){
  3:      super.onResume();
  4:      mScrollView.scrollTo(offsetx,offsety);
  5: }
  6: 

略作修改为用这个view的post方法触发。说原因是 scrollView内的内容是在onCreate后异步加载的,所以在onCreate和onResume之初并不能计算出作为容器的scrollview的滚动条尺寸,因此也无法正确的offset到目的位置。

?

  1: @Override
  2: protected void onResume(){
  3:      super.onResume();
  4:      mScrollView.post(new Runnable(){
  5:         @Override
  6: 	    public void run() {
  7: 	       // TODO Auto-generated method stub
  8:            mScrollView.scrollTo(offsetx,offsety);
  9:         }
 10:      });
 11: }
 12: 

?

?

参考文:

http://stackoverflow.com/questions/12884572/scrollview-scrollto-doesnt-work

http://www.cnblogs.com/neil-zhao/archive/2011/05/24/2055849.html

http://stackoverflow.com/questions/3263259/scrollview-scrollto-not-working-saving-scrollview-position-on-rotation

  评论这张
 
阅读(5481)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018