Added correct icons and colors, swapped options menu with vertical toolbar menu(as in iOS).

This commit is contained in:
Dmitry Yunitsky 2014-07-08 20:13:33 +02:00 committed by Alex Zolotarev
parent 9bcbe1394a
commit c23332c356
45 changed files with 234 additions and 106 deletions

View file

@ -0,0 +1,55 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<ImageButton
android:id="@+id/btn_buy_pro"
android:layout_width="match_parent"
android:layout_height="@dimen/bottom_panel_height"
android:background="@drawable/bg_toolbar_button_selector"
android:src="@drawable/ic_menu_buy_pro"/>
<View
style="@style/drawerSeparator"/>
<ImageButton
android:id="@+id/btn_download_maps"
android:layout_width="match_parent"
android:layout_height="@dimen/bottom_panel_height"
android:background="@drawable/bg_toolbar_button_selector"
android:src="@drawable/ic_menu_about"/>
<View
style="@style/drawerSeparator"/>
<ImageButton
android:id="@+id/btn_share"
style="@style/Widget.MapButtonBottom"
android:layout_width="match_parent"
android:layout_height="@dimen/bottom_panel_height"
android:src="@drawable/ic_menu_send_my_location"/>
<View
style="@style/drawerSeparator"/>
<ImageButton
android:id="@+id/btn_more_apps"
style="@style/Widget.MapButtonBottom"
android:layout_width="match_parent"
android:layout_height="@dimen/bottom_panel_height"
android:src="@drawable/ic_menu_more_apps"/>
<View
style="@style/drawerSeparator"/>
<ImageButton
android:id="@+id/btn_settings"
style="@style/Widget.MapButtonBottom"
android:layout_width="match_parent"
android:layout_height="@dimen/bottom_panel_height"
android:src="@drawable/ic_menu_settings"/>
</LinearLayout>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 3.3 KiB

BIN
android/res/drawable-hdpi/ic_my_position_auto_follow.png Executable file → Normal file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.4 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.1 KiB

BIN
android/res/drawable-hdpi/ic_my_position_pressed.png Executable file → Normal file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.9 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 927 B

After

Width:  |  Height:  |  Size: 3.2 KiB

BIN
android/res/drawable-ldpi/ic_bookmarks.png Executable file → Normal file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.1 KiB

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 KiB

After

Width:  |  Height:  |  Size: 2.8 KiB

BIN
android/res/drawable-ldpi/ic_my_position_auto_follow.png Executable file → Normal file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.2 KiB

After

Width:  |  Height:  |  Size: 574 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.8 KiB

BIN
android/res/drawable-ldpi/ic_my_position_pressed.png Executable file → Normal file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.2 KiB

After

Width:  |  Height:  |  Size: 598 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 577 B

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 753 B

After

Width:  |  Height:  |  Size: 3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 KiB

After

Width:  |  Height:  |  Size: 2.8 KiB

BIN
android/res/drawable-mdpi/ic_my_position_auto_follow.png Executable file → Normal file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.7 KiB

After

Width:  |  Height:  |  Size: 764 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.7 KiB

BIN
android/res/drawable-mdpi/ic_my_position_pressed.png Executable file → Normal file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.4 KiB

After

Width:  |  Height:  |  Size: 813 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 710 B

After

Width:  |  Height:  |  Size: 3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.7 KiB

BIN
android/res/drawable-xhdpi/ic_my_position_pressed.png Executable file → Normal file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.4 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.2 KiB

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.8 KiB

BIN
android/res/drawable-xxhdpi/ic_my_position_pressed.png Executable file → Normal file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.2 KiB

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

View file

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@color/bg_bottom_toolbar_pressed" android:state_pressed="true"/>
<item android:drawable="@color/bg_bottom_toolbar"/>
</selector>

View file

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/ic_bookmarks_pressed" android:state_pressed="true"/>
<item android:drawable="@drawable/ic_bookmarks_normal"/>
<item android:drawable="@drawable/ic_place_page_bookmark_button_selected" android:state_checked="true"/>
<item android:drawable="@drawable/ic_place_page_bookmark_button"/>
</selector>

View file

@ -1,7 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/ic_add_bookmark_active" android:state_checked="true"/>
<item android:drawable="@drawable/ic_add_bookmark_normal"/>
</selector>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 459 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

View file

@ -45,7 +45,7 @@
android:layout_height="wrap_content"
android:layout_toRightOf="@id/info_title"
android:background="@android:color/transparent"
android:src="@drawable/placepageeditbutton"/>
android:src="@drawable/ic_menu_buy_pro"/>
<Button
android:id="@+id/btn_route_from"
@ -70,7 +70,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0"
android:button="@drawable/placepagebookmarkbutton"
android:button="@drawable/ic_bookmarks_selector"
android:padding="8dp"/>
</LinearLayout>

View file

@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="bottom">
@ -38,12 +37,18 @@ Default margin = @dimen/map_controls_margin - 1 (like in map_bottom_toolbar)
android:layout_height="match_parent"
android:layout_below="@id/omni_box"/>
<include
android:id="@+id/map_bottom_toolbar"
layout="@layout/map_bottom_toolbar"
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_margin="0dp"/>
android:layout_alignParentBottom="true">
<include
android:id="@+id/map_bottom_toolbar"
layout="@layout/map_bottom_toolbar"/>
<include
android:id="@+id/map_bottom_vertical_toolbar"
layout="@layout/map_bottom_vertical_toolbar"/>
</FrameLayout>
</RelativeLayout>

View file

@ -1,47 +1,40 @@
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="bottom|left"
android:orientation="horizontal"
android:padding="0dp">
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="@dimen/bottom_panel_height">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="@dimen/bottom_panel_height">
<ImageButton
android:id="@+id/map_button_myposition"
style="@style/Widget.MapButtonBottom"
android:layout_width="0dp"
android:layout_height="@dimen/bottom_panel_height"
android:layout_weight="1"
android:onClick="onMyPositionClicked"
android:src="@drawable/ic_my_position"/>
<ImageButton
android:id="@+id/map_button_myposition"
style="@style/Widget.MapButtonBottom"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:src="@drawable/ic_my_position_normal"
android:onClick="onMyPositionClicked"/>
<ImageButton
style="@style/Widget.MapButtonBottom"
android:layout_width="0dp"
android:layout_height="@dimen/bottom_panel_height"
android:layout_weight="1"
android:onClick="onSearchClicked"
android:src="@drawable/ic_search"/>
<ImageButton
android:layout_width="0dp"
style="@style/Widget.MapButtonBottom"
android:layout_height="match_parent"
android:src="@drawable/ic_search"
android:layout_weight="1"
android:onClick="onSearchClicked"/>
<ImageButton
style="@style/Widget.MapButtonBottom"
android:layout_width="0dp"
android:layout_height="@dimen/bottom_panel_height"
android:layout_weight="1"
android:onClick="onBookmarksClicked"
android:src="@drawable/ic_bookmarks"/>
<ImageButton
android:layout_width="0dp"
android:layout_height="match_parent"
style="@style/Widget.MapButtonBottom"
android:src="@drawable/ic_bookmarks"
android:layout_weight="1"
android:onClick="onBookmarksClicked"/>
<ImageButton
style="@style/Widget.MapButtonBottom"
android:layout_width="0dp"
android:layout_height="@dimen/bottom_panel_height"
android:layout_weight="1"
android:onClick="onMoreClicked"
android:src="@drawable/ic_menu"/>
<ImageButton
android:layout_width="0dp"
android:layout_height="match_parent"
android:src="@drawable/ic_menu"
style="@style/Widget.MapButtonBottom"
android:layout_weight="1"
android:onClick="onMoreClicked"/>
</LinearLayout>
</FrameLayout>
</LinearLayout>

View file

@ -0,0 +1,59 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/bg_menu"
android:orientation="vertical">
<ImageButton
android:id="@+id/btn_buy_pro"
android:layout_width="match_parent"
android:layout_height="@dimen/bottom_panel_height"
android:visibility="gone"/>
<View
style="@style/drawerSeparator"/>
<ImageButton
android:id="@+id/btn_download_maps"
android:layout_width="match_parent"
android:layout_height="@dimen/bottom_panel_height"
android:background="@drawable/bg_toolbar_button_selector"
android:src="@drawable/ic_menu_about"/>
<View
style="@style/drawerSeparator"/>
<ImageButton
android:id="@+id/btn_share"
style="@style/Widget.MapButtonBottom"
android:layout_width="match_parent"
android:layout_height="@dimen/bottom_panel_height"
android:background="@drawable/bg_toolbar_button_selector"
android:src="@drawable/ic_menu_send_my_location"/>
<View
style="@style/drawerSeparator"/>
<ImageButton
android:id="@+id/btn_more_apps"
style="@style/Widget.MapButtonBottom"
android:layout_width="match_parent"
android:layout_height="@dimen/bottom_panel_height"
android:background="@drawable/bg_toolbar_button_selector"
android:src="@drawable/ic_menu_more_apps"/>
<View
style="@style/drawerSeparator"/>
<ImageButton
android:id="@+id/btn_settings"
style="@style/Widget.MapButtonBottom"
android:layout_width="match_parent"
android:layout_height="@dimen/bottom_panel_height"
android:background="@drawable/bg_toolbar_button_selector"
android:src="@drawable/ic_menu_settings"/>
</LinearLayout>

View file

@ -51,5 +51,7 @@
<color name="pp_bg_end">#15d080</color>
<color name="bg_menu">#e6414451</color>
<color name="bg_bottom_toolbar">#444651</color>
<color name="bg_bottom_toolbar_pressed">#15d081</color>
</resources>

View file

@ -20,10 +20,10 @@ public class LocationButtonImageSetter
private final static Map<ButtonState, Integer> STATE_TO_RES = new HashMap<ButtonState, Integer>();
static
{
STATE_TO_RES.put(ButtonState.NO_LOCATION, R.drawable.ic_my_position_normal);
STATE_TO_RES.put(ButtonState.NO_LOCATION, R.drawable.ic_my_position);
STATE_TO_RES.put(ButtonState.HAS_LOCATION, R.drawable.ic_my_position_pressed);
STATE_TO_RES.put(ButtonState.FOLLOW_MODE, R.drawable.ic_my_position_auto_follow);
STATE_TO_RES.put(ButtonState.WAITING_LOCATION, R.drawable.btn_location_rotation);
STATE_TO_RES.put(ButtonState.WAITING_LOCATION, R.drawable.ic_my_position_search);
}
public static void setButtonViewFromState(ButtonState state, ImageButton button)

View file

@ -16,11 +16,9 @@ import android.os.Environment;
import android.telephony.TelephonyManager;
import android.util.Log;
import android.view.KeyEvent;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.ImageButton;
import android.widget.RelativeLayout;
import android.widget.Toast;
@ -61,7 +59,7 @@ import java.util.Stack;
public class MWMActivity extends NvEventQueueActivity
implements LocationService.Listener,
OnBalloonListener,
OnVisibilityChangedListener
OnVisibilityChangedListener, OnClickListener
{
public static final String EXTRA_TASK = "map_task";
private final static String TAG = "MWMActivity";
@ -78,7 +76,7 @@ public class MWMActivity extends NvEventQueueActivity
private StoragePathManager m_pathManager = new StoragePathManager();
private AlertDialog m_storageDisconnectedDialog = null;
private ImageButton mLocationButton;
// Info box (place page).
// Info box (place page).
private MapInfoView mInfoView;
private SearchController mSearchController;
private String mProDialogMessage;
@ -88,6 +86,8 @@ public class MWMActivity extends NvEventQueueActivity
// Initialized to invalid combination to force update on the first check
private boolean m_storageAvailable = false;
private boolean m_storageWritable = true;
private ViewGroup mVerticalToolbar;
private ViewGroup mToolbar;
public static Intent createShowMapIntent(Context context, Index index)
{
@ -596,44 +596,8 @@ public class MWMActivity extends NvEventQueueActivity
public void onMoreClicked(View v)
{
openOptionsMenu();
}
@Override
public boolean onCreateOptionsMenu(Menu menu)
{
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item)
{
final int menuItemId = item.getItemId();
switch (menuItemId)
{
case R.id.menuitem_download_maps:
runDownloadActivity();
return true;
case R.id.menuitem_share_my_location:
shareMyLocation();
return true;
case R.id.menuitem_more_apps:
return true;
case R.id.menuitem_settings_activity:
startActivity(new Intent(MWMActivity.this, SettingsActivity.class));
return true;
default:
// This menu item id exists only in Lite versions builds
if (menuItemId == getResources().getIdentifier("menuitem_buy_pro", "id", getPackageName()))
{
runProVersionMarketActivity();
return true;
}
else
return super.onOptionsItemSelected(item);
}
UiUtils.show(mVerticalToolbar);
UiUtils.hide(mToolbar);
}
private void shareMyLocation()
@ -708,6 +672,21 @@ public class MWMActivity extends NvEventQueueActivity
mSearchController = SearchController.get();
mSearchController.onCreate(this);
setUpToolbars();
}
private void setUpToolbars()
{
mToolbar = (ViewGroup) findViewById(R.id.map_bottom_toolbar);
mVerticalToolbar = (ViewGroup) findViewById(R.id.map_bottom_vertical_toolbar);
mVerticalToolbar.findViewById(R.id.btn_buy_pro).setOnClickListener(this);
mVerticalToolbar.findViewById(R.id.btn_download_maps).setOnClickListener(this);
mVerticalToolbar.findViewById(R.id.btn_more_apps).setOnClickListener(this);
mVerticalToolbar.findViewById(R.id.btn_share).setOnClickListener(this);
mVerticalToolbar.findViewById(R.id.btn_settings).setOnClickListener(this);
UiUtils.hide(mVerticalToolbar);
}
private void setUpInfoBox()
@ -1260,13 +1239,48 @@ public class MWMActivity extends NvEventQueueActivity
@Override
public void onPreviewVisibilityChanged(boolean isVisible)
{
UiUtils.hide(mVerticalToolbar);
}
@Override
public void onPlacePageVisibilityChanged(boolean isVisible)
{
// Hide toolbar if PlacePage is visible
UiUtils.showIf(!isVisible, findViewById(R.id.map_bottom_toolbar));
UiUtils.showIf(!isVisible, mToolbar);
UiUtils.hide(mVerticalToolbar);
}
@Override
public void onClick(View v)
{
switch (v.getId())
{
case R.id.btn_buy_pro:
UiUtils.hide(mVerticalToolbar);
UiUtils.show(mToolbar);
runProVersionMarketActivity();
break;
case R.id.btn_share:
UiUtils.hide(mVerticalToolbar);
UiUtils.show(mToolbar);
shareMyLocation();
break;
case R.id.btn_settings:
UiUtils.hide(mVerticalToolbar);
UiUtils.show(mToolbar);
startActivity(new Intent(MWMActivity.this, SettingsActivity.class));
break;
case R.id.btn_download_maps:
UiUtils.hide(mVerticalToolbar);
UiUtils.show(mToolbar);
runDownloadActivity();
break;
case R.id.btn_more_apps:
UiUtils.hide(mVerticalToolbar);
UiUtils.show(mToolbar);
break;
default:
break;
}
}
public interface MapTask extends Serializable

View file

@ -701,7 +701,7 @@ public class MapInfoView extends LinearLayout implements View.OnClickListener
if (!TextUtils.equals(from, to))
Statistics.INSTANCE.trackColorChanged(getContext(), from, to);
mColorImage.setImageDrawable(UiUtils
.drawCircleForPin(to, (int) getResources().getDimension(R.dimen.dp_x_6), getResources()));
.drawCircleForPin(to, (int) getResources().getDimension(R.dimen.dp_x_3), getResources()));
}
private TranslateAnimation generateSlideAnimation(float fromX, float toX, float fromY, float toY)