Rather than mapView.getController().setZoom() you should use mapView.getController().zoomIn() and mapView.getController().zoomOut(). It gives you animated zoom like google maps default zooming controls and also you don't need to take care of zoom level by yourself.
This has been discussed here