change UI menu
git-svn-id: https://osmand.googlecode.com/svn/trunk@38 e29c36b1-1cfa-d876-8d93-3434fc2bb7b8
This commit is contained in:
parent
2fa9036f12
commit
927f226c2d
6 changed files with 119 additions and 23 deletions
BIN
OsmAnd/res/drawable/exit.png
Normal file
BIN
OsmAnd/res/drawable/exit.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 4.2 KiB |
|
@ -2,29 +2,27 @@
|
|||
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="fill_parent" android:orientation="vertical"
|
||||
android:layout_height="fill_parent">
|
||||
<ProgressBar android:id="@+id/ProgressBar01"
|
||||
android:layout_width="wrap_content" android:layout_height="wrap_content"
|
||||
android:layout_gravity="top|right"></ProgressBar>
|
||||
<TextView android:id="@+id/EmptyLable01" android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"></TextView>
|
||||
android:layout_height="fill_parent" android:background="@color/menu_background">
|
||||
<ProgressBar android:layout_width="wrap_content" android:layout_height="wrap_content"
|
||||
android:layout_gravity="top|right" android:id="@+id/LoadProgressBar" ></ProgressBar>
|
||||
|
||||
<Button android:layout_height="wrap_content"
|
||||
android:layout_gravity="center" android:id="@+id/MapButton"
|
||||
android:text="@string/map_Button" android:layout_width="fill_parent"></Button>
|
||||
<TextView android:id="@+id/EmptyLable02" android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"></TextView>
|
||||
android:text="@string/map_Button" android:layout_width="200px" android:layout_marginTop="5px"></Button>
|
||||
|
||||
<Button android:layout_height="wrap_content"
|
||||
android:layout_gravity="center" android:id="@+id/SettingsButton"
|
||||
android:text="@string/settings_Button" android:layout_width="fill_parent"></Button>
|
||||
android:text="@string/settings_Button" android:layout_width="200px" android:layout_marginTop="15px"></Button>
|
||||
|
||||
|
||||
<FrameLayout android:id="@+id/FrameLayout01"
|
||||
<Button android:layout_height="wrap_content" android:id="@+id/SearchButton" android:text="@string/search_button" android:layout_width="200px" android:layout_gravity="center_horizontal" android:layout_marginTop="15px"></Button><FrameLayout android:id="@+id/FrameLayout01"
|
||||
android:layout_height="fill_parent" android:layout_width="fill_parent">
|
||||
<Button android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content" android:layout_gravity="bottom|left"
|
||||
android:text="@string/exit_Button" android:id="@+id/ExitButton"></Button>
|
||||
android:id="@+id/ExitButton" android:background="@drawable/exit"></Button>
|
||||
</FrameLayout>
|
||||
|
||||
|
||||
|
||||
|
||||
</LinearLayout>
|
||||
|
|
|
@ -17,4 +17,6 @@
|
|||
<string name="exit_Button">Exit</string>
|
||||
<string name="map_Button">Map</string>
|
||||
<string name="settings_Button">Settings</string>
|
||||
<string name="search_button">Search</string>
|
||||
<color name="menu_background">#CFFACD</color>
|
||||
</resources>
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
package com.osmand.activities;
|
||||
|
||||
import java.util.concurrent.Callable;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
|
@ -7,28 +9,36 @@ import android.view.View;
|
|||
import android.view.Window;
|
||||
import android.view.View.OnClickListener;
|
||||
import android.widget.Button;
|
||||
import android.widget.ProgressBar;
|
||||
|
||||
import com.osmand.R;
|
||||
import com.osmand.ResourceManager;
|
||||
import com.osmand.services.LongRunningActionCallback;
|
||||
import com.osmand.services.LongRunningActionDispatcher;
|
||||
|
||||
public class MainMenuActivity extends Activity {
|
||||
public class MainMenuActivity extends Activity implements
|
||||
LongRunningActionCallback {
|
||||
|
||||
private Button showMap;
|
||||
private Button exitButton;
|
||||
private Button settingsButton;
|
||||
|
||||
private ProgressBar loadProgress;
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
|
||||
requestWindowFeature(Window.FEATURE_NO_TITLE);
|
||||
|
||||
requestWindowFeature(Window.FEATURE_NO_TITLE);
|
||||
setContentView(R.layout.menu);
|
||||
|
||||
|
||||
|
||||
showMap = (Button) findViewById(R.id.MapButton);
|
||||
showMap.setOnClickListener(new OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
final Intent mapIndent = new Intent(MainMenuActivity.this, MapActivity.class);
|
||||
final Intent mapIndent = new Intent(MainMenuActivity.this,
|
||||
MapActivity.class);
|
||||
startActivityForResult(mapIndent, 0);
|
||||
|
||||
}
|
||||
|
@ -37,7 +47,8 @@ public class MainMenuActivity extends Activity {
|
|||
settingsButton.setOnClickListener(new OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
final Intent settings = new Intent(MainMenuActivity.this, SettingsActivity.class);
|
||||
final Intent settings = new Intent(MainMenuActivity.this,
|
||||
SettingsActivity.class);
|
||||
startActivity(settings);
|
||||
}
|
||||
});
|
||||
|
@ -48,12 +59,31 @@ public class MainMenuActivity extends Activity {
|
|||
MainMenuActivity.this.finish();
|
||||
}
|
||||
});
|
||||
|
||||
ResourceManager.getResourceManager().indexingPoi();
|
||||
|
||||
loadProgress = (ProgressBar) findViewById(R.id.LoadProgressBar);
|
||||
loadProgress.setHorizontalScrollBarEnabled(true);
|
||||
|
||||
// startLongRunningOperation();
|
||||
|
||||
}
|
||||
|
||||
|
||||
private LongRunningActionDispatcher dispatcher;
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
private void startLongRunningOperation() {
|
||||
this.dispatcher = new LongRunningActionDispatcher(this, this);
|
||||
dispatcher.startLongRunningAction(new Callable() {
|
||||
public Void call() throws Exception {
|
||||
ResourceManager.getResourceManager().indexingPoi();
|
||||
return null;
|
||||
}
|
||||
}, "Dialog Title", "Dialog message");
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onSaveInstanceState(Bundle outState) {
|
||||
super.onSaveInstanceState(outState);
|
||||
public void onLongRunningActionFinished(Exception error) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -0,0 +1,5 @@
|
|||
package com.osmand.services;
|
||||
|
||||
public interface LongRunningActionCallback {
|
||||
void onLongRunningActionFinished(Exception error);
|
||||
}
|
|
@ -0,0 +1,61 @@
|
|||
package com.osmand.services;
|
||||
|
||||
import java.util.concurrent.Callable;
|
||||
|
||||
import android.app.ProgressDialog;
|
||||
import android.content.Context;
|
||||
import android.os.Handler;
|
||||
|
||||
public class LongRunningActionDispatcher {
|
||||
|
||||
private Context context;
|
||||
|
||||
private LongRunningActionCallback callback;
|
||||
|
||||
private ProgressDialog progressDialog;
|
||||
|
||||
private Handler finishedHandler = new Handler();
|
||||
|
||||
public LongRunningActionDispatcher(Context context,
|
||||
|
||||
LongRunningActionCallback callback) {
|
||||
this.context = context;
|
||||
this.callback = callback;
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
public void startLongRunningAction(final Callable callable,
|
||||
|
||||
String progressDialogTitle, String progressDialogMessage) {
|
||||
|
||||
progressDialog = ProgressDialog.show(context, progressDialogTitle,
|
||||
progressDialogMessage, true, false);
|
||||
|
||||
new Thread(new Runnable() {
|
||||
|
||||
public void run() {
|
||||
Exception error = null;
|
||||
try {
|
||||
callable.call();
|
||||
} catch (Exception e) {
|
||||
error = e;
|
||||
}
|
||||
|
||||
final Exception finalError = error;
|
||||
finishedHandler.post(new Runnable() {
|
||||
public void run() {
|
||||
onLongRunningActionFinished(finalError);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
}).start();
|
||||
|
||||
}
|
||||
|
||||
private void onLongRunningActionFinished(Exception error) {
|
||||
progressDialog.dismiss();
|
||||
callback.onLongRunningActionFinished(error);
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in a new issue