android-example: add theme chooser menu + stress test

This commit is contained in:
Hannes Janetzek 2014-01-19 17:25:27 +01:00
parent e4eeae2821
commit 35d7d2c0b5
3 changed files with 67 additions and 2 deletions

View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<group android:id="@+id/themes" android:checkableBehavior="single" android:menuCategory="container">
<item android:id="@+id/theme_default" android:checkable="true" android:title="@string/theme_default" android:checked="true" android:showAsAction="never"></item>
<item android:id="@+id/theme_tubes" android:checkable="true" android:title="@string/theme_tubes" android:showAsAction="never"></item>
<item android:id="@+id/theme_osmarender" android:checkable="true" android:title="@string/theme_osmarender" android:showAsAction="never"></item>
</group>
</menu>

View File

@ -4,5 +4,8 @@
<string name="hello_world">Hello world!</string>
<string name="menu_settings">Settings</string>
<string name="title_activity_map">MapActivity</string>
<string name="theme_default">Default</string>
<string name="theme_tubes">Tubes</string>
<string name="theme_osmarender">Osmarender</string>
</resources>

View File

@ -15,11 +15,12 @@
* this program. If not, see <http://www.gnu.org/licenses/>.
*/package org.oscim.android.test;
import org.oscim.layers.tile.vector.BuildingLayer;
import org.oscim.layers.tile.vector.labeling.LabelLayer;
import org.oscim.theme.InternalRenderTheme;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
public class SimpleMapActivity extends BaseMapActivity {
@ -27,7 +28,8 @@ public class SimpleMapActivity extends BaseMapActivity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mMap.getLayers().add(new BuildingLayer(mMap, mBaseLayer.getTileLayer()));
//mMap.getLayers().add(new BuildingLayer(mMap, mBaseLayer.getTileLayer()));
mMap.getLayers().add(new LabelLayer(mMap, mBaseLayer.getTileLayer()));
//mMap.getLayers().add(new GenericLayer(mMap, new GridRenderer()));
@ -37,5 +39,55 @@ public class SimpleMapActivity extends BaseMapActivity {
//mMap.setTheme(InternalRenderTheme.OSMARENDER);
mMap.setMapPosition(53.08, 8.83, Math.pow(2, 14));
//loooop(0);
}
void loooop(final int i) {
mMapView.postDelayed(new Runnable() {
@Override
public void run() {
InternalRenderTheme t;
if (i == 0)
t = InternalRenderTheme.DEFAULT;
else if (i == 1)
t = InternalRenderTheme.TRONRENDER;
else
t = InternalRenderTheme.OSMARENDER;
mMapView.getMap().setTheme(t);
loooop((i + 1) % 3);
}
}, 300 + (int)(Math.random() * 200));
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.theme_menu, menu);
return true;
}
@Override
public boolean onMenuItemSelected(int featureId, MenuItem item) {
switch (item.getItemId()) {
case R.id.theme_default:
mMap.setTheme(InternalRenderTheme.DEFAULT);
item.setChecked(true);
return true;
case R.id.theme_tubes:
mMap.setTheme(InternalRenderTheme.TRONRENDER);
item.setChecked(true);
return true;
case R.id.theme_osmarender:
mMap.setTheme(InternalRenderTheme.OSMARENDER);
item.setChecked(true);
return true;
}
return false;
}
}