add 'loading...' to map screen

precision_debug
Georg Lukas 2011-04-12 23:01:39 +02:00
rodzic 0d7919abdb
commit 8e67571218
3 zmienionych plików z 27 dodań i 3 usunięć

Wyświetl plik

@ -1,9 +1,24 @@
<?xml version="1.0" encoding="utf-8"?>
<com.google.android.maps.MapView
<FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<com.google.android.maps.MapView
android:id="@+id/mapview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:clickable="true"
android:apiKey="@apiKey@"
/>
<TextView
android:id="@+id/loading"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:padding="10sp"
android:textColor="#000"
android:textSize="14sp"
android:text="@string/map_loading"
/>
</FrameLayout>

Wyświetl plik

@ -19,6 +19,7 @@
<string name="sta_lastreport">%s Last Report</string>
<string name="map_track_call">Tracking %s...</string>
<string name="map_loading">Loading...</string>
<!-- AprsService -->
<string name="aprsservice">APRSdroid Service</string>

Wyświetl plik

@ -6,6 +6,7 @@ import _root_.android.graphics.{Canvas, Paint, Path, Point, Rect, Typeface}
import _root_.android.os.{Bundle, Handler}
import _root_.android.util.Log
import _root_.android.view.{Menu, MenuItem, View}
import _root_.android.widget.TextView
import _root_.com.google.android.maps._
import _root_.scala.collection.mutable.ArrayBuffer
import _root_.java.util.ArrayList
@ -22,6 +23,7 @@ class MapAct extends MapActivity {
lazy val allicons = this.getResources().getDrawable(R.drawable.allicons)
lazy val db = StorageDatabase.open(this)
lazy val staoverlay = new StationOverlay(allicons, this, db)
lazy val loading = findViewById(R.id.loading).asInstanceOf[TextView]
var showObjects = false
@ -61,6 +63,7 @@ class MapAct extends MapActivity {
case R.id.objects =>
mi.setChecked(!mi.isChecked())
showObjects = mi.isChecked()
loading.setVisibility(View.VISIBLE)
staoverlay.loadDb(showObjects)
mapview.invalidate()
true
@ -88,6 +91,12 @@ class MapAct extends MapActivity {
}
}
def onPostLoad() {
loading.setVisibility(View.GONE)
mapview.invalidate()
animateToCall()
}
}
class Station(val movelog : ArrayBuffer[GeoPoint], val point : GeoPoint,
@ -262,8 +271,7 @@ class StationOverlay(icons : Drawable, context : MapAct, db : StorageDatabase) e
stations = s
setLastFocusedIndex(-1)
Benchmark("populate") { populate() }
context.mapview.invalidate()
context.animateToCall()
context.onPostLoad()
}
}
}