zoukankan      html  css  js  c++  java
  • GridView实现滚动到指定位置的方法

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

    2016年01月28日 15:16:28 shotaSu 阅读数 2582

    这篇文章主要介绍了Android GridView实现滚动到指定位置的方法,本文介绍了4个相关的方法,分别对它们做了讲解,需要的朋友可以参考下

    当一个列表项目很多,并且每个项目可以进入到其它Activity或者Fragment时,保存之前列表的位置是一个比较不错的功能,

    今天研究了一下怎么保存浏览位置,发现GridView和它的父类中有4个相关的方法:

    复制代码 代码如下:


    public void smoothScrollToPosition (int position)


    滚动到position指定的位置,api level 11之下可用

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

    复制代码 代码如下:


    public void smoothScrollToPosition (int position, int boundPosition)


    滚动到position指定的位置,然后判断position+boundPosition是否会超出Adapter中的总项目数,如果超出,则退回到

    总数-boundPosition的位置显示。

    *存在的问题跟上面的那个方法一样

    复制代码 代码如下:


    public void smoothScrollToPositionFromTop (int position, int offset, int duration)


    滚动到position项目的位置,并且position项目距离GirdView上边的距离为offset个像素,duration指定滚动需要的时间(毫秒)

    *不存在只能滚动一次的问题,但是最低的api level需要11。

    复制代码 代码如下:


    public void smoothScrollToPositionFromTop (int position, int offset)


    效果跟第三个方法一样,但是采用api默认的时间,最低api level 11。

    另:

    ViewPager可以通过setCurrentItem(int position)设置当前显示哪一个Fragment

  • 相关阅读:
    【hihocoder 1477】闰秒
    【codeforces 768F】Barrels and boxes
    【codeforces 767E】Change-free
    【codeforces 810A】Straight «A»
    【codeforces 810B】Summer sell-off
    【codeforces 810C】Do you want a date?
    【codeforces 757E】Bash Plays with Functions
    【codeforces 749D】Leaving Auction
    Java数据结构与算法(5)
    使用Xshell远程连接管理Linux实践
  • 原文地址:https://www.cnblogs.com/grj001/p/12224781.html
Copyright © 2011-2022 走看看