安卓开发最终呈现的是一个与用户交互很强的界面,所以让用户在使用的过程中,知道程序在做什么有时候也很重要。
拿地图加载渲染来讲,有时候用户操作过于频繁,或者网络原因延迟,可能导致地图无法即刻完成操作。这个时候可以考虑引入一个效果,让用户知道,地图在加载。
随着智能应用普及,多年的用户习惯了某些展示效果。
以下这段代码,就利用了安卓原生API的代码,展示了一个圆圈的进度条,先看展示效果:
关键思路就是要监控mapview的加载进度,关键代码如下:
mMapView.addDrawStatusChangedListener(new DrawStatusChangedListener() {
@Override
public void drawStatusChanged(DrawStatusChangedEvent drawStatusChangedEvent) {
if(drawStatusChangedEvent.getDrawStatus() == DrawStatus.IN_PROGRESS){
progressBar.setVisibility(View.VISIBLE);
Log.d("drawStatusChanged", "spinner visible");
}else if (drawStatusChangedEvent.getDrawStatus() == DrawStatus.COMPLETED){
progressBar.setVisibility(View.INVISIBLE);
}
}
});