Giter VIP home page Giter VIP logo

workcation's People

Contributors

amrro avatar jonathan-caryl avatar panwrona avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

workcation's Issues

App crash

This is Error Log:

03-13 10:52:33.715 29549-29549/com.droidsonroids.workcation E/AndroidRuntime: FATAL EXCEPTION: main
                                                                              Process: com.droidsonroids.workcation, PID: 29549
                                                                              java.lang.IllegalArgumentException: radius must be > 0
                                                                                  at android.graphics.RadialGradient.<init>(RadialGradient.java:57)
                                                                                  at android.graphics.drawable.GradientDrawable.ensureValidRect(GradientDrawable.java:938)
                                                                                  at android.graphics.drawable.GradientDrawable.draw(GradientDrawable.java:509)
                                                                                  at android.view.View.getDrawableRenderNode(View.java:15677)
                                                                                  at android.view.View.drawBackground(View.java:15625)
                                                                                  at android.view.View.draw(View.java:15348)
                                                                                  at android.view.View.updateDisplayListIfDirty(View.java:14254)
                                                                                  at android.view.View.getDisplayList(View.java:14284)
                                                                                  at android.view.View.draw(View.java:15069)
                                                                                  at android.view.ViewGroup.drawChild(ViewGroup.java:3533)
                                                                                  at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3327)
                                                                                  at android.view.View.draw(View.java:15376)
                                                                                  at android.widget.FrameLayout.draw(FrameLayout.java:652)
                                                                                  at android.view.View.updateDisplayListIfDirty(View.java:14254)
                                                                                  at android.view.View.getDisplayList(View.java:14284)
                                                                                  at android.view.View.draw(View.java:15069)
                                                                                  at android.view.ViewGroup.drawChild(ViewGroup.java:3533)
                                                                                  at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3327)
                                                                                  at android.view.View.updateDisplayListIfDirty(View.java:14246)
                                                                                  at android.view.View.getDisplayList(View.java:14284)
                                                                                  at android.view.View.draw(View.java:15069)
                                                                                  at android.view.ViewGroup.drawChild(ViewGroup.java:3533)
                                                                                  at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3327)
                                                                                  at android.view.View.updateDisplayListIfDirty(View.java:14246)
                                                                                  at android.view.View.getDisplayList(View.java:14284)
                                                                                  at android.view.View.draw(View.java:15069)
                                                                                  at android.view.ViewGroup.drawChild(ViewGroup.java:3533)
                                                                                  at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3327)
                                                                                  at android.view.View.draw(View.java:15376)
                                                                                  at android.widget.FrameLayout.draw(FrameLayout.java:652)
                                                                                  at android.support.v4.widget.NestedScrollView.draw(NestedScrollView.java:1768)
                                                                                  at android.view.View.updateDisplayListIfDirty(View.java:14254)
                                                                                  at android.view.View.getDisplayList(View.java:14284)
                                                                                  at android.view.View.draw(View.java:15069)
                                                                                  at android.view.ViewGroup.drawChild(ViewGroup.java:3533)
                                                                                  at android.support.design.widget.CoordinatorLayout.drawChild(CoordinatorLayout.java:1223)
                                                                                  at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3327)
                                                                                  at android.view.View.updateDisplayListIfDirty(View.java:14246)
                                                                                  at android.view.View.getDisplayList(View.java:14284)
                                                                                  at android.view.View.draw(View.java:15069)
                                                                                  at android.view.ViewGroup.drawChild(ViewGroup.java:3533)
                                                                                  at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3327)
                                                                                  at android.view.View.updateDisplayListIfDirty(View.java:14246)
                                                                                  at android.view.View.getDisplayList(View.java:14284)
                                                                                  at android.view.View.draw(View.java:15069)
                                                                                  at android.view.ViewGroup.drawChild(ViewGroup.java:3533)
                                                                                  at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3327)
                                                                                  at android.view.View.draw(View.java:15376)
                                                                                  at android.view.View.updateDisplayListIfDirty(View.java:14254)
                                                                                  at android.view.View.getDisplayList(View.java:14284)
                                                                                  at android.view.View.draw(View.java:15069)
                                                                                  at android.view.ViewGroup.drawChild(ViewGroup.java:3533)
                                                                                  at android.support.design.widget.CoordinatorLayout.drawChild(CoordinatorLayout.java:1223)
                                                                                  at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3327)
                                                                                  at android.view.View.updateDisplayListIfDirty(View.java:14246)
                                                                                  at android.view.View.getDisplayList(View.java:14284)
                                                                                  at android.view.View.draw(View.java:15069)
                                                                                  at android.view.ViewGroup.drawChild(ViewGroup.java:3533)
                                                                                  at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3327)
                                                                                  at android.view.View.updateDisplayListIfDirty(View.java:14246)
                                                                                  at android.view.View.getDisplayList(View.java:14284)
                                                                                  at android.view.View.draw(View.java:15069)
                                                                                  at android.view.ViewGroup.drawChild(ViewGroup.java:3533)
                                                                                  at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3327)
                                                                                  at android.view.View.updateDisplayListIfDirty(View.java:14246)
                                                                                  at android.view.View.getDisplayList(View.java:14284)
                                                                                  at android.view.View.draw(View.java:15069)
                                                                              	at android.view.ViewGroup.drawChild(ViewGroup.java:353

Android - Adding Scale animation to cluster marker?

I have implemented google map clusters and I want scale animation in the marker clusters, please see the video, I want the same animation which is present in the video. I have tried the animation but it is not playing the same. Please can you guide me how can i implement in my below code

My requirement is : please see the video. [https://files.fm/f/vtg2pge5]

public class CustomMarkerClusteringDemoActivity extends BaseMapActivity implements
        ClusterManager.OnClusterClickListener<Person>,ClusterManager.OnClusterInfoWindowClickListener<Person>,
        ClusterManager.OnClusterItemClickListener<Person>,ClusterManager.OnClusterItemInfoWindowClickListener<Person> {

    private ClusterManager<Person> mClusterManager;
    private Random mRandom = new Random(1984);

    @Override
    public boolean onClusterClick(Cluster<Person> cluster) {
        // Show a toast with some info when the cluster is clicked.
        String firstName = cluster.getItems().iterator().next().name;
        Log.e("firstName","="+firstName);

        return true;
    }

    @Override
    public void onClusterInfoWindowClick(Cluster<Person> cluster) {
        // Does nothing, but you could go to a list of the users.
        Log.e("onClusterInfoWindow","onClusterInfoWindowClick");
    }

    @Override
    public boolean onClusterItemClick(Person item) {
        // Does nothing, but you could go into the user's profile page, for example.
        String firstName = item.name;
        Log.e("onClusterItemClick","="+firstName);

        return true;
    }

    @Override
    public void onClusterItemInfoWindowClick(Person item) {
        // Does nothing, but you could go into the user's profile page, for example.
        Log.e("onClusterItemInfoWindow","onClusterItemInfoWindow");
    }

    @Override
    protected void startDemo() {
        getMap().moveCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(51.503186, -0.126446), 9.5f));

        mClusterManager = new ClusterManager<Person>(this, getMap());
        mClusterManager.setRenderer(new PersonRenderer());

        getMap().setOnCameraIdleListener(mClusterManager);
        getMap().setOnMarkerClickListener(mClusterManager);
      
        getMap().setOnInfoWindowClickListener(mClusterManager);

        mClusterManager.setOnClusterClickListener(this);
        mClusterManager.setOnClusterInfoWindowClickListener(this);
        mClusterManager.setOnClusterItemClickListener(this);
        mClusterManager.setOnClusterItemInfoWindowClickListener(this);
        mClusterManager.setAnimation(false);
        addItems();
        mClusterManager.cluster();

        getAllMarkers();
    }

    private void addItems() {
        // http://www.flickr.com/photos/sdasmarchives/5036248203/
        mClusterManager.addItem(new Person(position(), "Walter", R.drawable.ic_profile_dumy));

        // http://www.flickr.com/photos/usnationalarchives/4726917149/
        mClusterManager.addItem(new Person(position(), "Gran", R.drawable.ic_profile_dumy));

        // http://www.flickr.com/photos/nypl/3111525394/
        mClusterManager.addItem(new Person(position(), "Ruth", R.drawable.ic_profile_dumy));

        // http://www.flickr.com/photos/smithsonian/2887433330/
        mClusterManager.addItem(new Person(position(), "Stefan", R.drawable.ic_profile_dumy));

        // http://www.flickr.com/photos/library_of_congress/2179915182/
        mClusterManager.addItem(new Person(position(), "Mechanic", R.drawable.ic_profile_dumy));

        // http://www.flickr.com/photos/nationalmediamuseum/7893552556/
        mClusterManager.addItem(new Person(position(), "Yeats", R.drawable.ic_profile_dumy));

        // http://www.flickr.com/photos/sdasmarchives/5036231225/
        mClusterManager.addItem(new Person(position(), "John", R.drawable.ic_profile_dumy));

        // http://www.flickr.com/photos/anmm_thecommons/7694202096/
        mClusterManager.addItem(new Person(position(), "Trevor the Turtle", R.drawable.ic_profile_dumy));

        // http://www.flickr.com/photos/usnationalarchives/4726892651/
        mClusterManager.addItem(new Person(position(), "Teach", R.drawable.ic_profile_dumy));
    }

    private LatLng position() {
        return new LatLng(random(51.6723432, 51.38494009999999), random(0.148271, -0.3514683));
    }

    private double random(double min, double max) {
        return mRandom.nextDouble() * (max - min) + min;
    }

    /**
     * Draws profile photos inside markers (using IconGenerator).
     * When there are multiple people in the cluster, draw multiple photos (using MultiDrawable).
     */
    private class PersonRenderer extends DefaultClusterRenderer<Person> {

        private final IconGenerator mIconGenerator = new IconGenerator(getApplicationContext());
        private final IconGenerator mClusterIconGenerator = new IconGenerator(getApplicationContext());
        private final ImageView mImageView;
        private final ImageView mClusterImageView;
        private final int mDimension;

        public PersonRenderer() {
            super(getApplicationContext(), getMap(), mClusterManager);

            View multiProfile = getLayoutInflater().inflate(R.layout.multi_profile, null);
            mClusterIconGenerator.setContentView(multiProfile);
            mClusterImageView = multiProfile.findViewById(R.id.image);

            mImageView = new ImageView(getApplicationContext());
            mDimension = (int) getResources().getDimension(R.dimen.custom_profile_image);
            mImageView.setLayoutParams(new ViewGroup.LayoutParams(mDimension, mDimension));
            int padding = (int) getResources().getDimension(R.dimen.custom_profile_padding);
            mImageView.setPadding(padding, padding, padding, padding);
            mIconGenerator.setContentView(mImageView);

        }

        @Override
        protected void onBeforeClusterItemRendered(Person person, MarkerOptions markerOptions) {
            // Draw a single person.
            // Set the info window to show their name.
            mImageView.setImageResource(person.profilePhoto);
            Bitmap icon = mIconGenerator.makeIcon();
            markerOptions.icon(BitmapDescriptorFactory.fromBitmap(icon)).title(person.name);
        }

        @Override
        protected void onBeforeClusterRendered(Cluster<Person> cluster, MarkerOptions markerOptions) {
            // Draw multiple people.
            // Note: this method runs on the UI thread. Don't spend too much time in here (like in this example).
            List<Drawable> profilePhotos = new ArrayList<Drawable>(Math.min(4, cluster.getSize()));
            int width = mDimension;
            int height = mDimension;

            for (Person p : cluster.getItems()) {
                // Draw 4 at most.
                if (profilePhotos.size() == 4)
                    break;
                Drawable drawable = getResources().getDrawable(p.profilePhoto);
                drawable.setBounds(0, 0, width, height);
                profilePhotos.add(drawable);
            }
            MultiDrawable multiDrawable = new MultiDrawable(profilePhotos);
            multiDrawable.setBounds(0, 0, width, height);

            mClusterImageView.setImageDrawable(multiDrawable);
            Bitmap icon = mClusterIconGenerator.makeIcon(String.valueOf(cluster.getSize()));
            markerOptions.icon(BitmapDescriptorFactory.fromBitmap(icon));

        }

        @Override
        protected boolean shouldRenderAsCluster(Cluster cluster) {
            // Always render clusters.
            //start clustering if at least 2 items overlap
            return cluster.getSize() > 1;
        }
    }

Sample is very different than the gif in the repo

It looks like this:
image

Plus, when pressing the bottom tab, it crashes:

04-11 10:56:04.706 7293-7293/com.droidsonroids.workcation E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.droidsonroids.workcation, PID: 7293
java.lang.NullPointerException: Attempt to read from field 'java.util.Map android.transition.TransitionValues.values' on a null object reference
at com.droidsonroids.workcation.common.transitions.ScaleDownImageTransition.createAnimator(ScaleDownImageTransition.java:66)
at android.transition.Transition.createAnimators(Transition.java:732)
at android.transition.TransitionSet.createAnimators(TransitionSet.java:396)
at android.transition.Transition.playTransition(Transition.java:1777)
at android.transition.TransitionManager$MultiListener.onPreDraw(TransitionManager.java:306)
at android.view.ViewTreeObserver.dispatchOnPreDraw(ViewTreeObserver.java:944)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2205)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1254)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6338)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:874)
at android.view.Choreographer.doCallbacks(Choreographer.java:686)
at android.view.Choreographer.doFrame(Choreographer.java:621)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:860)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6121)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:889)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:779)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.