android–ListView禁用标题视图的垂直滚动

android–ListView禁用标题视图的垂直滚动,第1张

概述我的标题中有一个带有com.google.android.gms.maps.MapView的ListView.当我滚动列表时,我希望隐藏MapView,它可以正常工作.但是,当我从上到下滚动标题或向下滚动时我不希望ListView执行滚动–我希望它允许MapView执行其缩放/滚动 *** 作.我知道一起使用ListView/MapView是badide

我的标题中有一个带有com.Google.android.gms.maps.MapVIEw的ListVIEw.当我滚动列表时,我希望隐藏MapVIEw,它可以正常工作.但是,当我从上到下滚动标题或向下滚动时我不希望ListVIEw执行滚动 – 我希望它允许MapVIEw执行其缩放/滚动 *** 作.
我知道一起使用ListVIEw / MapVIEw是bad idea,但我需要找到一个解决方案.我考虑过在ListVIEw实例上设置OntouchListener并在需要时将其事件调度到MapVIEw,但它看起来不是一个非常简单的解决方案.

解决方法:

最后我通过扩展ListVIEw类来解决它:

public class SingleScrollableheaderListVIEw extends ListVIEw {    private VIEw mheaderVIEw;    public SingleScrollableheaderListVIEw(Context context) {        super(context);    }    public SingleScrollableheaderListVIEw(Context context, AttributeSet attrs) {        super(context, attrs);    }    public SingleScrollableheaderListVIEw(Context context, AttributeSet attrs, int defStyle) {        super(context, attrs, defStyle);    }    @OverrIDe    public boolean onIntercepttouchEvent(MotionEvent ev) {        if (mheaderVIEw != null) return mheaderVIEw.ontouchEvent(ev);        return super.onIntercepttouchEvent(ev);    }    @OverrIDe    public voID addheaderVIEw(VIEw v, Object data, boolean isSelectable) {        if (mheaderVIEw != null) removeheaderVIEw(mheaderVIEw);        mheaderVIEw = v;        super.addheaderVIEw(v, data, isSelectable);    }}

重要的部分是onIntercepttouchEvent()方法 – 这里我将MotionEvent实例传递给标题视图(如果存在),否则我让ListVIEw处理运动事件.

总结

以上是内存溢出为你收集整理的android – ListView禁用标题视图的垂直滚动全部内容,希望文章能够帮你解决android – ListView禁用标题视图的垂直滚动所遇到的程序开发问题。

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

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存