如何在Android列表视图中禁用过度滚动和退回?

如何在Android列表视图中禁用过度滚动和退回?,第1张

概述我的listview在2台设备上的行为是,当我过度滚动它时,它会变成黄色/橙色,或者它可以被过度滚动然后快速回退.后一种行为很糟糕,因为它显示了我想要阻止的背后的背景. 我试过了: listview.setOverScrollMode(ListView.OVER_SCROLL_NEVER); 并且它不再显示背景,但现在有一种非常恼人的反d效果.是否有可能同时禁用d跳和过度滚动并使其滚动到达结束时刚 我的ListvIEw在2台设备上的行为是,当我过度滚动它时,它会变成黄色/橙色,或者它可以被过度滚动然后快速回退.后一种行为很糟糕,因为它显示了我想要阻止的背后的背景.

我试过了:

ListvIEw.setoverScrollMode(ListVIEw.OVER_SCRolL_NEVER);

并且它不再显示背景,但现在有一种非常恼人的反d效果.是否有可能同时禁用d跳和过度滚动并使其滚动到达结束时刚刚结束而没有任何影响?

PS:我在两台设备上都使用androID 2.3.

解决方法 这是我如何解决这个问题,希望它能帮助那些搜索.关键是将OnScrollListener附加到列表中,跟踪何时处理fling手势以及何时到达列表末尾.然后,在d出仍在进行的同时,如果系统试图移动它,请继续将位置重置到最后.
private ListVIEw mListVIEw;private listadapter mAdapter;@OverrIDeprotected voID onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentVIEw(R.layout.activity_my_List);    mListVIEw = (ListVIEw) findVIEwByID(R.ID.ListVIEw);    mAdapter = new ArrayAdapter<String>(this,androID.R.layout.simple_List_item_1,getList(25));    mListVIEw.setAdapter(mAdapter);    mListVIEw.setoverScrollMode(VIEw.OVER_SCRolL_NEVER);    if(Build.VERSION.SDK_INT == Build.VERSION_CODES.GINGERBREAD || Build.VERSION.SDK_INT == Build.VERSION_CODES.GINGERBREAD_MR1){        mListVIEw.setonScrollListener(new OnScrollListener(){            private boolean flinging = false;            private boolean reachedEnd = false;            @OverrIDe            public voID onScrollStateChanged(AbsListVIEw vIEw,int scrollState) {                flinging = (scrollState == AbsListVIEw.OnScrollListener.SCRolL_STATE_FliNG);                reachedEnd = false;            }            @OverrIDe            public voID onScroll(AbsListVIEw vIEw,int firstVisibleItem,int visibleItemCount,int totalitemCount) {                if(reachedEnd && flinging && (firstVisibleItem + visibleItemCount < totalitemCount)){                    mListVIEw.setSelection(mAdapter.getCount() - 1);                }else if(firstVisibleItem + visibleItemCount == totalitemCount){                    reachedEnd = true;                }else{                    reachedEnd = false;                }            }        });    }}
总结

以上是内存溢出为你收集整理的如何在Android列表视图中禁用过度滚动和退回?全部内容,希望文章能够帮你解决如何在Android列表视图中禁用过度滚动和退回?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1139030.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-31
下一篇 2022-05-31

发表评论

登录后才能评论

评论列表(0条)

保存