ListView小问题的解决方案

1.ListView的Overscroll效果

Overscroll(边界回弹)效果-- android2.3新增的功能,也就是当滑动到边界的时候,如果再滑动,就会有一个边界就会有一个发光效果。
* Api介绍:
* public void setOverScrollMode (int mode)
* 为视图设置过滚动模式。有效的过滚动模式有 OVER_SCROLL_ALWAYS(默认值)、
* OVER_SCROLL_IF_CONTENT_SCROLLS(视图内容大于容器时允许过滚动)、和 OVER_SCROLL_NEVER.

* 只有当视图可以滚动时,才可以设置视图的过滚动模式.

关于OverScroll?请参考http://blog.csdn.net/zouxueping/article/details/6832805

默认的效果并不好,很多人都想去掉,这里介绍如何去除此效果?

(Android中如何消除ScrollView滚动到顶部或底部时的边框?)

如何去掉这个效果呢?请看第2条


2. ListView顶部和底部滚(拖)动出现阴影(也就是Overscroll效果)解决方案

在listview中滑动到顶部或者是底部的时候,在默认的情况下,是会有黄色或者蓝色的阴影出现。
这个该怎么解决呢,请往下看:
【解决方案1】在不同的版本上解决的方法是不同的,在2.3之前可以在listview的属性中通过设置Android:fadingEdge="none"来解决问题,但是在2.3及以上这个是不行的,这里要在 xml中设置属性 Android :overScrollMode=”never”,也可以通过代码来设置模式,禁止其阴影的出现,以免影响美观。

【解决方案2】请看代码:需要新建个MyListView.java文件,然后在xml布局中引用

 public class MyListView extends ListView {
    public MyListView(Context context, AttributeSet attrs) {
        super(context, attrs);
        if (Integer.parseInt(Build.VERSION.SDK) >= 9) {
            this.setOverScrollMode(View.OVER_SCROLL_NEVER);
        }
    }
}
<com.jhq.MyListView
            android:id="@+id/_lv"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:background="@null"
            android:cacheColorHint="#00000000"
            android:divider="@null"
            android:listSelector="@drawable/chat_listitem"
            android:scrollbars="vertical"
            android:fadingEdge="none"
            android:transcriptMode="alwaysScroll" />


3. ListView刷新后自动滚到最底部

mList.setSelection(mList.getAdapter().getCount()-1);

http://blog.csdn.net/libaineu2004/article/details/26582383


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值