魅族手机listview适配问题

来源:互联网 发布:超级指南针软件 编辑:程序博客网 时间:2024/05/16 14:14

项目中使用上拉刷新下拉加载更多的listview,在魅族机器上运行的时候遇到比较奇怪的bug,和flyme的系统有关系,总结如下,希望可以帮助到没有思路的同学。 
关于listview的问题主要和魅族手机的scrollview类顶部可继续下拉有关系。 
1.如果你的下拉刷新有比较复杂的动画,那么魅族手机可能会让这个动画无效,需要禁用掉listview本身的下拉模式。 
android:overScrollMode=”never” 或者 listView.setOverScrollMode(Listview.OVER_SCROLL_NEVER); 
如此就不会对动画产生影响。

2.如果listview的子item过多,产品mm设计了一个点击回到顶部的功能,你大概会选用这个api:listview.smoothScrollToPositionFromTop(int position, int offset); 
设置position和offset为0时,就可以回到顶部。但在部分手机上不会达到预期结果,只是滑动了一部分,没有回到顶部,目前已知小米和魅族。 
参考stackoverflow上的回答,采用如下思路: 
1.正常设置position和offset为0 
2.设置滚动监听事件,如果滑动结束,则通过setSelection(0)来设置到顶部。 
代码如下:

//第三个参数为滚动时间                 listView.smoothScrollToPositionFromTop(0,0,1000);
0 0