2014.04.22 ——— android listview header和左右滑动冲突
16lz
2021-01-26
2014.04.22 ——— android listview header和左右滑动冲突
有的时候,listview的好hearder会展示焦点图,这些图是可以左右滑动的,但是可能整个listview也可以左右切换到其他fragment里面,这个时候就会有冲突了,解决:
有的时候,listview的好hearder会展示焦点图,这些图是可以左右滑动的,但是可能整个listview也可以左右切换到其他fragment里面,这个时候就会有冲突了,解决:
public class HotListView extends ListView { private boolean mHeaderViewsScrollable = true; public HotListView(Context context) { super(context); } public HotListView(Context context, AttributeSet attrs) { super(context, attrs); } public HotListView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); } public void setHeaderViewsScrollable(boolean scrollable) { mHeaderViewsScrollable = scrollable; } @Override public boolean onInterceptTouchEvent(MotionEvent ev) { return !(!mHeaderViewsScrollable && isInHeaderView(ev)) && super.onInterceptTouchEvent(ev); } private boolean isInHeaderView(MotionEvent ev) { boolean result = false; int lastHeaderViewPosition = getHeaderViewsCount() - 1; int firstVisiblePosition = getFirstVisiblePosition(); int lastVisiblePosition = getLastVisiblePosition(); if (firstVisiblePosition <= lastHeaderViewPosition) { if (lastHeaderViewPosition <= lastVisiblePosition) { View lastHeaderView = getChildAt(lastHeaderViewPosition - firstVisiblePosition); result = ev.getY() < lastHeaderView.getBottom(); } else { result = true; } } return result; }}
更多相关文章
- android 遇到Error:Execution failed for task ':app:processDeb
- 如何解决向eclipse导入android project时遇到错误“Invalid proj
- 解决-Android: 跨应用AIDL调用时报错 java.lang.SecurityExcepti
- UltimateRecyclerView发布,Android下新Listview的大杀器
- Android聊天背景图片变形解决方案
- Android二进制工具objdump/readelf不能打印出function@plt的解决
- Android(安卓)仿微信对话列表滑动删除效果
- android自定义dialog,软件键盘弹出挡住输入区域解决
- 运行Android程序时 resources.ap_ 文件不存在 的解决办法