【问题标题】:MapView inside ScrollView doesn't show zoom controlsScrollView 内的 MapView 不显示缩放控件
【发布时间】:2010-08-11 22:53:14
【问题描述】:

我在 ScrollView 中放置了一个 MapView。

另外,我在地图视图中添加了缩放控制

 mapView.setBuiltInZoomControls(true);

ScrollView 可以正确滚动,但是当我单击 MapView 时,不显示缩放控件。 (大部分时间)。通常,缩放控件应显示在地图视图的底部。

Android 似乎与 MapView 和 ScrollView 上的触摸(或单击)事件混淆了。

我希望能够'聚焦'地图视图,并显示缩放控件。

我试过禁用ScrollView的滚动功能,但是没用。

有什么建议吗?

非常感谢

【问题讨论】:

    标签: android


    【解决方案1】:

    我遇到同样的问题已经 10 天了,但几分钟前我得到了解决方案! 这是解决方案。 我制作了一个自定义 MapView 并像这样覆盖 onTouchEvent()。

    @Override
    public boolean onTouchEvent(MotionEvent ev) {
        int action = ev.getAction();
        switch (action) {
        case MotionEvent.ACTION_DOWN:
            // Disallow ScrollView to intercept touch events.
            this.getParent().requestDisallowInterceptTouchEvent(true);
            break;
    
        case MotionEvent.ACTION_UP:
            // Allow ScrollView to intercept touch events.
            this.getParent().requestDisallowInterceptTouchEvent(false);
            break;
        }
    
        // Handle MapView's touch events.
        super.onTouchEvent(ev);
        return true;
    }
    

    【讨论】:

    • 你能粘贴完整的课程吗?
    【解决方案2】:

    我在 ScrollView 中放置了一个 MapView。

    这不太可能奏效。不要将可滚动的小部件放在ScrollView 中。 MapView 已经知道如何滚动了。

    【讨论】:

    • 感谢您的回答!我还没有找到任何解决我的问题的方法。我最好不要把 MapView 放在 ScrollView 里面。
    猜你喜欢
    • 2010-10-29
    • 2023-03-16
    • 1970-01-01
    • 2010-09-20
    • 1970-01-01
    • 2012-06-04
    • 1970-01-01
    • 1970-01-01
    • 2011-01-11
    相关资源
    最近更新 更多