@Override public boolean onTouchEvent(MotionEvent event, RotatedTileBox tileBox) { if (!mapActivity.getRoutingHelper().isRoutePlanningMode() && mapActivity.getRoutingHelper().isFollowingMode()) { if (!settings.SHOW_ZOOM_BUTTONS_NAVIGATION.get()) { zoomControls.showWithDelay( (FrameLayout) mapActivity.getMapView().getParent(), TIMEOUT_TO_SHOW_BUTTONS); mapMenuControls.showWithDelay( (FrameLayout) mapActivity.getMapView().getParent(), TIMEOUT_TO_SHOW_BUTTONS); } mapRoutePlanControl.showWithDelay( (FrameLayout) mapActivity.getMapView().getParent(), TIMEOUT_TO_SHOW_BUTTONS); } for (MapControls m : allControls) { if (m.isVisible() && m.onTouchEvent(event, tileBox)) { return true; } } return false; }
@Override public void initLayer(final OsmandMapTileView view) { scaleCoefficient = view.getScaleCoefficient(); FrameLayout parent = (FrameLayout) view.getParent(); Handler showUIHandler = new Handler(); int rightGravity = Gravity.RIGHT | Gravity.BOTTOM; int leftGravity = Gravity.LEFT | Gravity.BOTTOM; int rightCenterGravity = Gravity.RIGHT | Gravity.CENTER; // default buttons zoomControls = init( new MapZoomControls(mapActivity, showUIHandler, scaleCoefficient), parent, rightGravity); zoomSideControls = init( new MapZoomControls(mapActivity, showUIHandler, scaleCoefficient), parent, rightCenterGravity); mapMenuControls = init( new MapMenuControls(mapActivity, showUIHandler, scaleCoefficient), parent, leftGravity); mapRoutePlanControl = init( new MapRoutePlanControl(mapActivity, showUIHandler, scaleCoefficient), parent, leftGravity); // calculate route buttons mapSmallMenuControls = init( new SmallMapMenuControls(mapActivity, showUIHandler, scaleCoefficient), parent, leftGravity); mapCancelNavigationControl = init( new MapCancelControl(mapActivity, showUIHandler, scaleCoefficient), parent, leftGravity); mapInfoNavigationControl = init( new MapRouteInfoControl( mapActivity.getMapLayers().getContextMenuLayer(), mapActivity, showUIHandler, scaleCoefficient), parent, leftGravity); mapNavigationControl = init( new MapNavigateControl( mapInfoNavigationControl, mapActivity, showUIHandler, scaleCoefficient), parent, rightGravity); mapAppModeControl = init( new MapRoutePreferencesControl(mapActivity, showUIHandler, scaleCoefficient), parent, rightGravity); rulerControl = init( new RulerControl(zoomControls, mapActivity, showUIHandler, scaleCoefficient), parent, rightGravity); mapRoutePlanControl.setMargin(mapMenuControls.getWidth()); mapCancelNavigationControl.setMargin(mapSmallMenuControls.getWidth()); mapInfoNavigationControl.setMargin( mapSmallMenuControls.getWidth() + mapCancelNavigationControl.getWidth()); mapAppModeControl.setMargin(mapNavigationControl.getWidth()); initTransparencyBar(view, parent); }