html5中文学习网

您的位置: 首页 > android » 正文

Android GridView实现滚动到指定位置的方法_Android

[ ] 已经帮助:人解决问题

当一个列表项目很多,并且每个项目可以进入到其它Activity或者Fragment时,保存之前列表的位置是一个比较不错的功能,RgCHTML5中文学习网 - HTML5先行者学习网

今天研究了一下怎么保存浏览位置,发现GridView和它的父类中有4个相关的方法:RgCHTML5中文学习网 - HTML5先行者学习网

复制代码 代码如下:
RgCHTML5中文学习网 - HTML5先行者学习网
public void smoothScrollToPosition (int position)RgCHTML5中文学习网 - HTML5先行者学习网
RgCHTML5中文学习网 - HTML5先行者学习网
滚动到position指定的位置,api level 11之下可用RgCHTML5中文学习网 - HTML5先行者学习网

*当你滚动完后,返回列表,能正常滚动,但是你再次从列表的项目返回后,滚动失效,就是只能滚动一次,我认为这是一个Bug。然后我在Miui2.3的ROM上测试,不能正常滚动。RgCHTML5中文学习网 - HTML5先行者学习网

复制代码 代码如下:
RgCHTML5中文学习网 - HTML5先行者学习网
public void smoothScrollToPosition (int position, int boundPosition)RgCHTML5中文学习网 - HTML5先行者学习网
RgCHTML5中文学习网 - HTML5先行者学习网
滚动到position指定的位置,然后判断position+boundPosition是否会超出Adapter中的总项目数,如果超出,则退回到RgCHTML5中文学习网 - HTML5先行者学习网

总数-boundPosition的位置显示。RgCHTML5中文学习网 - HTML5先行者学习网

*存在的问题跟上面的那个方法一样RgCHTML5中文学习网 - HTML5先行者学习网

复制代码 代码如下:
RgCHTML5中文学习网 - HTML5先行者学习网
public void smoothScrollToPositionFromTop (int position, int offset, int duration)RgCHTML5中文学习网 - HTML5先行者学习网
RgCHTML5中文学习网 - HTML5先行者学习网
滚动到position项目的位置,并且position项目距离GirdView上边的距离为offset个像素,duration指定滚动需要的时间(毫秒)RgCHTML5中文学习网 - HTML5先行者学习网

*不存在只能滚动一次的问题,但是最低的api level需要11。RgCHTML5中文学习网 - HTML5先行者学习网

复制代码 代码如下:
RgCHTML5中文学习网 - HTML5先行者学习网
public void smoothScrollToPositionFromTop (int position, int offset)RgCHTML5中文学习网 - HTML5先行者学习网
RgCHTML5中文学习网 - HTML5先行者学习网
效果跟第三个方法一样,但是采用api默认的时间,最低api level 11。RgCHTML5中文学习网 - HTML5先行者学习网

另:RgCHTML5中文学习网 - HTML5先行者学习网

ViewPager可以通过setCurrentItem(int position)设置当前显示哪一个Fragment。RgCHTML5中文学习网 - HTML5先行者学习网

(责任编辑:)
推荐书籍
推荐资讯
关于HTML5先行者 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 人才招聘 - 帮助