【问题标题】:Mapview Fragment + ViewPager, causing strange interactionsMapview Fragment + ViewPager,引起奇怪的交互
【发布时间】:2012-12-12 21:45:22
【问题描述】:

我花了很长的时间试图在我的 viewpager 中获得一个正常工作的响应式 mapview 片段,现在它终于可以工作了,我不太清楚为什么!

背景: 我正在为我的操作栏使用 ActionBarSherlock,我正在使用 viewpager 在三个片段之间切换:列表、imageview + textview 和 mapview。我有一个 viewpagerindicator 可以和我的 viewpager 一起使用。我正在使用 android-support-v4 的地图版本。

什么有效: - 覆盖 viewpager 的 onInterceptTouchEvent 方法以返回 false - 在地图视图上设置一个什么都不做的 onClickListener。

mapview 会出现,但在我添加监听器之前没有响应,但为什么添加 onclicklistener 会使所有手势都响应?

【问题讨论】:

    标签: android android-mapview android-viewpager gesture-recognition


    【解决方案1】:

    也许你应该重新开始。就我而言,我所要做的就是将 MapFragment 与 FragmentPageAdapter 一起放入 ViewPager。 然后用重写的方法创建了我自己的 ViewPager,只是为了使 MapFragment 可用:

    @Override
    public boolean onInterceptTouchEvent(MotionEvent event) {
        // hacky hack to never intercept map pages events unless its on the
        // very edge of screen - last or first fifth of the view size
        if (((FragmentPagerAdapter) getAdapter()).getItem(getCurrentItem()) instanceof SupportMapFragment) {
            if (event.getAction() == MotionEvent.ACTION_DOWN && event.getX() < (getWidth() - (getWidth() / 5)) && event.getX() > (getWidth() / 5)) {
                // Never allow swiping to switch if not right on the edge
                return false;
            }
        }
        return super.onInterceptTouchEvent(event);
    }
    

    【讨论】:

    • 普通Fragment 里面有MapView 是什么?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-12-08
    • 2013-10-09
    • 1970-01-01
    • 1970-01-01
    • 2022-01-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多