`

2014.04.22 ——— android listview header和左右滑动冲突

 
阅读更多
2014.04.22 ——— android listview header和左右滑动冲突

有的时候,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;
    }
}



分享到:
评论

相关推荐

    2011.08.26——— android ListView之多个item布局

    这篇博客"2011.08.26——— android ListView之多个item布局"深入探讨了如何在ListView中实现多个不同类型的Item布局,这对于创建动态、丰富的用户界面至关重要。在Android应用设计中,ListView通常用于显示如联系人...

    Android listview和viewpager解决冲突 滑动冲突

    Android listview viewpager 滑动 跳动 冲突解决 ListView中嵌套ViewPage有或者滑动手势冲突解决 blog 地址 : http://blog.csdn.net/aaawqqq/article/details/43824631

    安卓Android源码——listview快速滑动,修改默认的滑动条.rar

    本资料包“安卓Android源码——listview快速滑动,修改默认的滑动条.rar”提供了解决这些问题的解决方案。 首先,我们要讨论如何优化ListView的快速滑动性能。在Android中,ListView通过使用ViewHolder模式来提高...

    android listview item 左右滑动

    本篇文章将详细介绍如何在Android中为ListView的item实现左右滑动效果,特别是针对"滑动删除"的实现方法。 首先,我们要了解Android中的SwipeListView。SwipeListView是基于ListView的一个扩展,它提供了滑动触发...

    安卓Android源码——item可左右滑动的listview控件.zip

    "安卓Android源码——item可左右滑动的listview控件.zip" 包含了一个自定义的ListView实现,它允许用户通过左右滑动ListView的每个item来触发不同的操作,比如删除、标记等。 这个项目主要包含以下几个关键组件和...

    Android ListView 中item的左右滑动动画效果的实现

    公司有个项目要用到类似手机QQ聊天记录列表ListView左右滑动后改变item的效果,网上没找到好的代码,偶然在安卓巴士的开源站http://d.apkbus.com/里面找到了SwipeToDismiss的源码...改成自己的显示另一个view的效果就行...

    android完美解决listView与ScrollView滑动冲突

    总之,解决Android中的ListView与ScrollView滑动冲突问题,需要理解事件分发机制,以及掌握各种滚动控件的特性和API。通过合理的设计和编程,可以实现两者无缝协作,提供流畅的用户体验。在提供的压缩包文件...

    仿微信的ListView item可左右滑动效果

    在许多应用中,我们经常看到类似微信的滑动效果,用户可以左右滑动ListView的每一项(item)来触发不同的操作,如删除、标记等。这个效果的实现主要涉及到自定义适配器(Adapter)和滑动监听器(SwipeListener)的...

    android listview item 左右滑动删除

    总结来说,实现Android ListView Item的左右滑动删除涉及自定义Item布局、滑动手势检测、Adapter数据更新、动画效果、性能优化等多个方面。通过合理的代码设计和第三方库的利用,可以轻松地为应用增添这一实用的交互...

    Android listView选项滑动效果

    `Android listView选项滑动效果`是指通过增强ListView的功能,使每个列表项可以左右滑动,通常用于实现更多的交互操作,比如滑动删除、切换状态等。这个描述提及的demo是基于`android-swipelistview-master`库,它为...

    安卓Android源码——重写listview实现下拉刷新.zip

    本压缩包"安卓Android源码——重写listview实现下拉刷新.zip"就是针对这一需求提供的一种解决方案。 首先,我们来理解下拉刷新这一概念。下拉刷新是一种常见的移动应用设计模式,用户通过在ListView顶部向下拉动,...

    Google.Android开发入门与实战第12章.Android综合案例一——RSS阅读器实例

    在本章节中,“Google.Android开发入门与实战第12章.Android综合案例一——RSS阅读器实例”主要聚焦于Android应用程序开发中的一个实际应用场景——构建一个RSS阅读器。这个实例将帮助初学者理解如何将Android SDK的...

    Android源码——listView学习源码.zip

    此外,学习ListView源码还能帮助开发者解决实际开发中遇到的问题,比如优化性能、处理滑动冲突、实现下拉刷新和上拉加载等功能。通过对源码的分析,我们可以了解到ListView是如何调度View的绘制和测量,以及如何处理...

    安卓Android源码——listview快速滑动,修改默认的滑动条.zip

    本资料“安卓Android源码——listview快速滑动,修改默认的滑动条.zip”正是针对这个需求,提供了优化ListView快速滑动以及自定义滚动条的解决方案。 首先,我们要理解ListView的工作原理。ListView通过复用视图...

    android listview左右滑动分页

    http://blog.csdn.net/icqapp/article/details/24978057 详看效果图...android listview左右滑动分页(viewpager嵌套listview进行分页),焦点图带圆焦点 先敬告学者:如在此项目上运行不了的直接找到本人QQ:508181017,

    Listview的左右滑动实现

    标题"Listview的左右滑动实现"涉及到了如何在ListView中添加手势监听,使得用户可以通过左右滑动来切换Activity,提升用户体验。以下是对这个主题的详细解释: 一、ListView基本概念 ListView是Android SDK中的一个...

    viewpage嵌套listview,效果:滑动listview删除,滑动非listview区域viewpage翻页

    在Android开发中,有时我们需要实现复杂布局以满足用户交互需求,比如在一个页面中同时展示一个横向滚动的ViewPager和一个纵向滚动的ListView。标题"viewpage嵌套listview,效果:滑动listview删除,滑动非listview...

    listview的上下左右滑动

    为了提升用户体验,我们往往需要扩展其功能,使其能够支持左右滑动,同时保持顶部表头(Header)和左侧列头(Column Header)的固定。本篇文章将深入探讨如何实现这样一个功能丰富的ListView。 首先,我们需要了解...

    ListView左右滑动效果

    总的来说,实现ListView的左右滑动效果需要结合手势检测、自定义Adapter、动画应用以及合理的状态管理和性能优化。通过这样的设计,我们可以使应用的交互更加丰富和人性化,提升用户体验。在实际开发中,可以参考已...

Global site tag (gtag.js) - Google Analytics