ListView到顶部不可再拉

ListView到顶部不可再拉,主要针对魅族、索爱等手机;

如果你的程序针对的是2.3及以上版本,可以直接调用AbsListView的setOverScrollMode方法来解决这个问题。
如果还要兼容2.1,2.2的话,可以通过反射来操作。
参数总共有三个值:
public static final int OVER_SCROLL_ALWAYS = 0;
public static final int OVER_SCROLL_IF_CONTENT_SCROLLS = 1;
public static final int OVER_SCROLL_NEVER = 2;

设置为OVER_SCROLL_NEVER即可。
setOverScrollMode(View.OVER_SCROLL_NEVER)

看看有效果吗?
请参考:
http://developer.android.com/reference/android/widget/AbsListView.html#setOverScrollMode(int)
http://developer.android.com/reference/android/view/View.html#OVER_SCROLL_NEVER

2.2大多数ROM是没有这个下拉效果的,目前我只在一台索爱的机器上看到过。
反射是指Java的反射机制,通过class的getMethod方法去操作,比如:
Java code
Method method = AbsListView.class.getMethod("setOverScrollMode",int.class);

再调用method的invoke就可以了。

反射相关的知识可以参考这里:http://tianna55555.iteye.com/blog/1662972
public static void disableScrollMode(View view) {
    try {
        Method method = AbsListView.class.getMethod("setOverScrollMode", int.class);
        @SuppressWarnings("rawtypes")
        Class viewCls = view.getClass();
        int OVER_SCROLL_NEVER = (Integer) viewCls.getField("OVER_SCROLL_NEVER").get(view);
        method.invoke(view, OVER_SCROLL_NEVER);
    } catch (SecurityException e) {
        e.printStackTrace();
    } catch (NoSuchMethodException e) {
        e.printStackTrace();
    } catch (IllegalArgumentException e) {
        e.printStackTrace();
    } catch (IllegalAccessException e) {
        e.printStackTrace();
    } catch (NoSuchFieldException e) {
        e.printStackTrace();
    } catch (InvocationTargetException e) {
        e.printStackTrace();
    }
}
时间: 2024-11-06 23:30:35

ListView到顶部不可再拉的相关文章

Android学习之——单击ActionBar实现ListView返回顶部

不知道大家在刷微博时,有没有遇到过,刷新太多,想返回顶部看之前的微博的情况.其实,单击顶部的ActionBar能返回顶部.而不用一直向下拉. 废话不多说,讲讲Android中怎么实现这一功能. 首先,要给ActionBar添加一个CustomView. CustomView的布局文件actionbar_layout.xml: 1 <?xml version="1.0" encoding="utf-8"?> 2 <LinearLayout xmlns

iOS开发-UITableView顶部图片下拉放大

关于顶部图片下拉放大,在用户展示的个人中心显示用户个人头像信息,设置UITableView的headerView实现,UITableView继承自UIScrollView,同样的设置UIScrollView的顶部图片也可以实现同样的效果,简单看一下实现的效果: 控制器中设置需要的属性变量: @property (strong,nonatomic) UITableView *tableView; @property (strong,nonatomic) NSArray *data; @proper

jquery顶部固定层下拉导航

最近有人在论坛里讨论怎么制作导航菜单!我关注了一下,这里就写了一个简单的demo.供大家参考.代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"

android解决listview与scrollview的冲突、自定义listview的高度以及上下拉刷新

     很多时候我们需要使用listview与嵌套使用,那么问题来了,listview里面自带了 滚动条,而又嵌套在scrollview里面.所以引发了一系列的冲突.listview显示不全. 今天给出一个全新的上下拉刷新与解决冲突的方案. .点击下载下拉刷新上拉加载工具      下载完工具后我们复制粘贴到我们自己的工程里面,使用方式和自定义view一样. 下面贴出代码 看到代码贴如也就这么回事.但是我们注意了,这个时候的listview是包裹在scroll里面的.那么滚动起来肯定不行的..

双击导航栏自动滑动ListView到顶部

有些app都实现了双击导航栏让页面的list自动滑动到顶部的feature. 先实现一个继承于OnTouchListener的监听多次点击事件的监听器,通过callback把连续点击的次数返回给客户代码,代码见gist:MultiTouchListener.java. https://gist.github.com/Viyu/d06eda19f9bcf7223f6b 然后给导航栏添加下面这个OnTouchListener的实现: OnMultiTouchListener mOnMultiTouc

【android】让listview的顶部或者底部也显示分割线

xml文件: <ListView android:id="@+id/listview" android:layout_width="match_parent" android:layout_height="match_parent" android:cacheColorHint="#00000000" android:divider="@drawable/listview_devider"> &

android PopupWindow嵌套ListView(模仿分类下拉菜单效果)

先看下UI效果 这就是使用PopupWindow嵌套ListView实现的,这个简单,不做多介绍直接上代码 1:布局文件 <span style="font-size:18px;"><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" and

顶部滑动下拉广告

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"><head> <meta htt

listview滑动顶部停靠(stickyListHeadersListView)

效果图: 本项目为github上的一个开源项目,地址:https://github.com/emilsjolander/StickyListHeaders:另外可以可在这里下载DEMO:http://pan.baidu.com/s/1bnlFPsN 提取码: jhe8 直接运行,希望这篇文章可以帮到有需要的朋友.