2010-08-11 6 views
2

Я разместил MapView внутри ScrollView.MapView внутри ScrollView не отображает элементы управления увеличением

Кроме того, я добавил зуммирования в виде карты

mapView.setBuiltInZoomControls(true); 

В Scrollview прокручивается правильно, но когда я нажимаю на MapView, не отображается управление зумом. (большую часть времени). Обычно управление масштабированием должно отображаться при отображении карты.

Кажется, что Android запутался с сенсорным (или щелчком) событием в MapView и ScrollView.

Я хочу, чтобы иметь возможность 'focus' mapview и показывает управление зумом.

Я попытался отключить прокрутку ScrollView, но это не сработает.

Любое предложение?

спасибо

ответ

0

Я положил MapView внутри ScrollView.

Это вряд ли сработает. Не размещайте прокручиваемые виджеты внутри ScrollView. MapView уже знает, как прокручивать.

+0

Спасибо за ваш ответ! Я не нашел решения моей проблемы. Мне лучше не помещать MapView внутри ScrollView. –

4

У меня была такая же проблема в течение 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; 
} 
+0

вы можете вставить полный класс, пожалуйста? – brux

Смежные вопросы