[android] #3276 - added item animation for select/deselect state of a View Marker. Removed asynctask due to unneeded overhead. Improved integration with selectMarker. Added item animators for the test app.

This commit is contained in:
Tobrun
2016-05-11 14:43:17 +02:00
parent 8e57b455c5
commit db2c3e59e3
6 changed files with 155 additions and 95 deletions

View File

@@ -1,5 +1,9 @@
package com.mapbox.mapboxsdk.testapp.activity.annotation;
import android.animation.Animator;
import android.animation.AnimatorListenerAdapter;
import android.animation.ObjectAnimator;
import android.animation.PropertyValuesHolder;
import android.app.ProgressDialog;
import android.content.Context;
import android.os.AsyncTask;
@@ -8,16 +12,20 @@ import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v7.app.ActionBar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.view.ViewPropertyAnimatorCompatSet;
import android.support.v7.widget.Toolbar;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.view.ViewPropertyAnimator;
import android.view.animation.BounceInterpolator;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.Toast;
import com.mapbox.mapboxsdk.annotations.BaseMarkerOptions;
import com.mapbox.mapboxsdk.annotations.Marker;
@@ -92,10 +100,13 @@ public class BulkMarkerActivity extends AppCompatActivity implements AdapterView
}
}
});
mMapboxMap.setMarkerViewItemAnimation(R.animator.scale_up, R.animator.scale_down);
mMapboxMap.setOnMarkerViewClickListener(new MapboxMap.OnMarkerViewClickListener() {
@Override
public void onMarkerClick(@NonNull Marker marker, @NonNull View view) {
mMapboxMap.selectMarker(marker);
public boolean onMarkerClick(@NonNull final Marker marker, @NonNull View view) {
Toast.makeText(BulkMarkerActivity.this, "Hello "+marker.getId(), Toast.LENGTH_SHORT).show();
return false;
}
});
}

View File

@@ -68,8 +68,9 @@ public class ViewMarkerActivity extends AppCompatActivity implements OnMapReadyC
mapboxMap.setMarkerViewAdapter(new CountryAdapter(this));
mapboxMap.setOnMarkerViewClickListener(new MapboxMap.OnMarkerViewClickListener() {
@Override
public void onMarkerClick(@NonNull Marker marker, @NonNull View view) {
public boolean onMarkerClick(@NonNull Marker marker, @NonNull View view) {
Log.d(MapboxConstants.TAG, "Country clicked " + ((CountryMarker) marker).getAbbrevName());
return true;
}
});

View File

@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<objectAnimator
android:propertyName="scaleX"
android:duration="300"
android:valueTo="1"/>
<objectAnimator
android:propertyName="scaleY"
android:duration="300"
android:valueTo="1"/>
</set>

View File

@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<objectAnimator
android:propertyName="scaleX"
android:duration="300"
android:valueTo="2"/>
<objectAnimator
android:propertyName="scaleY"
android:duration="300"
android:valueTo="2"/>
</set>