Example usage for android.support.v4.app ActivityOptionsCompat makeSceneTransitionAnimation

List of usage examples for android.support.v4.app ActivityOptionsCompat makeSceneTransitionAnimation

Introduction

In this page you can find the example usage for android.support.v4.app ActivityOptionsCompat makeSceneTransitionAnimation.

Prototype

public static ActivityOptionsCompat makeSceneTransitionAnimation(Activity activity, View view, String str) 

Source Link

Usage

From source file:butter.droid.tv.fragments.TVMediaGridFragment.java

private void onMediaItemClicked(ImageCardView view, MediaCardPresenter.MediaCardItem media) {
    if (media.isLoading())
        return;/*from w w  w .java2  s  .  com*/
    Bundle options = ActivityOptionsCompat.makeSceneTransitionAnimation(getActivity(), view.getMainImageView(),
            TVMediaDetailActivity.SHARED_ELEMENT_NAME).toBundle();
    if (media.getMedia() instanceof Movie)
        TVMediaDetailActivity.startActivity(getActivity(), options, media.getMedia());
    else if (media.getMedia() instanceof Show)
        TVMediaDetailActivity.startActivity(getActivity(), options, media.getMedia());
}

From source file:de.elanev.studip.android.app.frontend.courses.CourseAttendeesFragment.java

@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
    Cursor c = (Cursor) mListView.getItemAtPosition(position);
    String userId = c.getString(c.getColumnIndex(UsersContract.Columns.USER_ID));

    if (userId != null) {
        Intent intent = new Intent(mContext, UserDetailsActivity.class);
        intent.putExtra(UsersContract.Columns.USER_ID, userId);

        ImageView icon = (ImageView) view.findViewById(R.id.user_image);
        ActivityOptionsCompat options = ActivityOptionsCompat.makeSceneTransitionAnimation(getActivity(),
                (View) icon, getString(R.string.Profile));
        // Start UserDetailActivity with transition if supported
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
            mContext.startActivity(intent, options.toBundle());
        } else {/*  ww  w .  jav  a2s.  co  m*/
            mContext.startActivity(intent);
        }
    }
}

From source file:com.example.android.leanback.DetailsFragment.java

@Override
public void onCreate(Bundle savedInstanceState) {
    Log.i(TAG, "onCreate");
    super.onCreate(savedInstanceState);

    setBadgeDrawable(getActivity().getResources().getDrawable(R.drawable.ic_title));
    setTitle("Leanback Sample App");
    setOnSearchClickedListener(new View.OnClickListener() {
        @Override/* w w  w . ja  va  2 s  .  c o m*/
        public void onClick(View view) {
            Intent intent = new Intent(getActivity(), SearchActivity.class);
            startActivity(intent);
        }
    });

    mActionPlay = new Action(ACTION_PLAY, "Play");
    mActionRent = new Action(ACTION_RENT, "Rent", "$3.99", getResources().getDrawable(R.drawable.ic_action_a));
    mActionBuy = new Action(ACTION_BUY, "Buy $9.99");

    ClassPresenterSelector ps = new ClassPresenterSelector();
    DetailsOverviewRowPresenter dorPresenter = new DetailsOverviewRowPresenter(
            new DetailsDescriptionPresenter());
    dorPresenter.setOnActionClickedListener(new OnActionClickedListener() {
        @Override
        public void onActionClicked(Action action) {
            Toast.makeText(getActivity(), action.toString(), Toast.LENGTH_SHORT).show();
            DetailsOverviewRow dor = (DetailsOverviewRow) mRowsAdapter.get(0);
            if (action.getId() == ACTION_BUY) {
                // on the UI thread, we can modify actions adapter directly
                SparseArrayObjectAdapter actions = (SparseArrayObjectAdapter) dor.getActionsAdapter();
                actions.set(ACTION_PLAY, mActionPlay);
                actions.clear(ACTION_RENT);
                actions.clear(ACTION_BUY);
                dor.setItem(mPhotoItem.getTitle() + "(Owned)");
                dor.setImageDrawable(getResources().getDrawable(R.drawable.details_img_16x9));
            } else if (action.getId() == ACTION_RENT) {
                // on the UI thread, we can modify actions adapter directly
                SparseArrayObjectAdapter actions = (SparseArrayObjectAdapter) dor.getActionsAdapter();
                actions.set(ACTION_PLAY, mActionPlay);
                actions.clear(ACTION_RENT);
                dor.setItem(mPhotoItem.getTitle() + "(Rented)");
            } else if (action.getId() == ACTION_PLAY) {
                Intent intent = new Intent(getActivity(), PlaybackOverlayActivity.class);
                getActivity().startActivity(intent);
            }
        }
    });

    ps.addClassPresenter(DetailsOverviewRow.class, dorPresenter);
    ps.addClassPresenter(ListRow.class, new ListRowPresenter());

    mRowsAdapter = new ArrayObjectAdapter(ps);

    PhotoItem item = (PhotoItem) (savedInstanceState != null ? savedInstanceState.getParcelable(ITEM) : null);
    if (item != null) {
        setItem(item);
    }

    setOnItemViewClickedListener(new OnItemViewClickedListener() {
        @Override
        public void onItemClicked(Presenter.ViewHolder itemViewHolder, Object item,
                RowPresenter.ViewHolder rowViewHolder, Row row) {
            Log.i(TAG, "onItemClicked: " + item + " row " + row);
            if (item instanceof PhotoItem) {
                Intent intent = new Intent(getActivity(), DetailsActivity.class);
                intent.putExtra(DetailsActivity.EXTRA_ITEM, (PhotoItem) item);

                Bundle bundle = ActivityOptionsCompat.makeSceneTransitionAnimation(getActivity(),
                        ((ImageCardView) itemViewHolder.view).getMainImageView(),
                        DetailsActivity.SHARED_ELEMENT_NAME).toBundle();
                getActivity().startActivity(intent, bundle);
            }
        }
    });
    setOnItemViewSelectedListener(new OnItemViewSelectedListener() {
        @Override
        public void onItemSelected(Presenter.ViewHolder itemViewHolder, Object item,
                RowPresenter.ViewHolder rowViewHolder, Row row) {
            Log.i(TAG, "onItemSelected: " + item + " row " + row);
        }
    });

    if (TEST_SHARED_ELEMENT_TRANSITION) {
        dorPresenter.setSharedElementEnterTransition(getActivity(), DetailsActivity.SHARED_ELEMENT_NAME);
    }
    if (TEST_ENTRANCE_TRANSITION) {
        // don't run entrance transition if Activity is restored.
        if (savedInstanceState == null) {
            prepareEntranceTransition();
        }
    }
}

From source file:com.mikepenz.lollipopshowcase.MainActivity.java

public void animateActivity(AppInfo appInfo, View appIcon) {
    Intent i = new Intent(this, DetailActivity.class);
    i.putExtra("appInfo", appInfo.getComponentName());

    ActivityOptionsCompat transitionActivityOptions = ActivityOptionsCompat.makeSceneTransitionAnimation(this,
            Pair.create((View) fabButton, "fab"), Pair.create(appIcon, "appIcon"));
    startActivity(i, transitionActivityOptions.toBundle());
}

From source file:com.example.android.leanback.DetailsSupportFragment.java

@Override
public void onCreate(Bundle savedInstanceState) {
    Log.i(TAG, "onCreate");
    super.onCreate(savedInstanceState);

    setBadgeDrawable(getActivity().getResources().getDrawable(R.drawable.ic_title));
    setTitle("Leanback Sample App");
    setOnSearchClickedListener(new View.OnClickListener() {
        @Override/*from   www.j a  va2  s.  c om*/
        public void onClick(View view) {
            Intent intent = new Intent(getActivity(), SearchSupportActivity.class);
            startActivity(intent);
        }
    });

    mActionPlay = new Action(ACTION_PLAY, "Play");
    mActionRent = new Action(ACTION_RENT, "Rent", "$3.99", getResources().getDrawable(R.drawable.ic_action_a));
    mActionBuy = new Action(ACTION_BUY, "Buy $9.99");

    ClassPresenterSelector ps = new ClassPresenterSelector();
    DetailsOverviewRowPresenter dorPresenter = new DetailsOverviewRowPresenter(
            new DetailsDescriptionPresenter());
    dorPresenter.setOnActionClickedListener(new OnActionClickedListener() {
        @Override
        public void onActionClicked(Action action) {
            Toast.makeText(getActivity(), action.toString(), Toast.LENGTH_SHORT).show();
            DetailsOverviewRow dor = (DetailsOverviewRow) mRowsAdapter.get(0);
            if (action.getId() == ACTION_BUY) {
                // on the UI thread, we can modify actions adapter directly
                SparseArrayObjectAdapter actions = (SparseArrayObjectAdapter) dor.getActionsAdapter();
                actions.set(ACTION_PLAY, mActionPlay);
                actions.clear(ACTION_RENT);
                actions.clear(ACTION_BUY);
                dor.setItem(mPhotoItem.getTitle() + "(Owned)");
                dor.setImageDrawable(getResources().getDrawable(R.drawable.details_img_16x9));
            } else if (action.getId() == ACTION_RENT) {
                // on the UI thread, we can modify actions adapter directly
                SparseArrayObjectAdapter actions = (SparseArrayObjectAdapter) dor.getActionsAdapter();
                actions.set(ACTION_PLAY, mActionPlay);
                actions.clear(ACTION_RENT);
                dor.setItem(mPhotoItem.getTitle() + "(Rented)");
            } else if (action.getId() == ACTION_PLAY) {
                Intent intent = new Intent(getActivity(), PlaybackOverlaySupportActivity.class);
                getActivity().startActivity(intent);
            }
        }
    });

    ps.addClassPresenter(DetailsOverviewRow.class, dorPresenter);
    ps.addClassPresenter(ListRow.class, new ListRowPresenter());

    mRowsAdapter = new ArrayObjectAdapter(ps);

    PhotoItem item = (PhotoItem) (savedInstanceState != null ? savedInstanceState.getParcelable(ITEM) : null);
    if (item != null) {
        setItem(item);
    }

    setOnItemViewClickedListener(new OnItemViewClickedListener() {
        @Override
        public void onItemClicked(Presenter.ViewHolder itemViewHolder, Object item,
                RowPresenter.ViewHolder rowViewHolder, Row row) {
            Log.i(TAG, "onItemClicked: " + item + " row " + row);
            if (item instanceof PhotoItem) {
                Intent intent = new Intent(getActivity(), DetailsSupportActivity.class);
                intent.putExtra(DetailsSupportActivity.EXTRA_ITEM, (PhotoItem) item);

                Bundle bundle = ActivityOptionsCompat.makeSceneTransitionAnimation(getActivity(),
                        ((ImageCardView) itemViewHolder.view).getMainImageView(),
                        DetailsSupportActivity.SHARED_ELEMENT_NAME).toBundle();
                getActivity().startActivity(intent, bundle);
            }
        }
    });
    setOnItemViewSelectedListener(new OnItemViewSelectedListener() {
        @Override
        public void onItemSelected(Presenter.ViewHolder itemViewHolder, Object item,
                RowPresenter.ViewHolder rowViewHolder, Row row) {
            Log.i(TAG, "onItemSelected: " + item + " row " + row);
        }
    });

    if (TEST_SHARED_ELEMENT_TRANSITION) {
        dorPresenter.setSharedElementEnterTransition(getActivity(), DetailsSupportActivity.SHARED_ELEMENT_NAME);
    }
    if (TEST_ENTRANCE_TRANSITION) {
        // don't run entrance transition if Activity is restored.
        if (savedInstanceState == null) {
            prepareEntranceTransition();
        }
    }
}

From source file:com.twolinessoftware.smarterlist.activity.MainNavigationActivity.java

@Subscribe
public void onNavigateToEditView(OnEditListSelectEvent event) {

    Ln.d("Launching new edit view:" + event.getSmartList().getName());

    ActivityOptionsCompat options = ActivityOptionsCompat.makeSceneTransitionAnimation(
            MainNavigationActivity.this, event.getTransitionView(),
            PlanViewPagerActivity.IMAGE_TRANSITION_NAME);
    Intent intent = new Intent(MainNavigationActivity.this, PlanViewPagerActivity.class);
    intent.putExtra(PlanViewPagerActivity.EXTRA_SMART_LIST, event.getSmartList());
    ActivityCompat.startActivity(MainNavigationActivity.this, intent, null);

}

From source file:com.battery.materialdesigndemo.MainActivity.java

public void animateActivity(AppInfo appInfo, View appIcon) {
    Intent i = new Intent(this, DetailActivity.class);
    i.putExtra("appInfo", appInfo.getComponentName());

    ActivityOptionsCompat transitionActivityOptions = ActivityOptionsCompat.makeSceneTransitionAnimation(this,
            Pair.create((View) mFabButton, "fab"), Pair.create(appIcon, "appIcon"));
    startActivity(i, transitionActivityOptions.toBundle());
}

From source file:com.miz.mizuu.fragments.MovieDiscoveryFragment.java

@Override
public void onViewCreated(View v, Bundle savedInstanceState) {
    super.onViewCreated(v, savedInstanceState);

    mProgressBar = (ProgressBar) v.findViewById(R.id.progress);
    mProgressBar.setVisibility(View.GONE);

    mAdapter = new ImageAdapter(getActivity());

    mGridView = (ObservableGridView) v.findViewById(R.id.gridView);
    mGridView.setAdapter(mAdapter);/* ww w .  j av a 2  s  . co  m*/
    mGridView.setColumnWidth(mImageThumbSize);

    // Calculate the total column width to set item heights by factor 1.5
    mGridView.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
        @Override
        public void onGlobalLayout() {
            if (mAdapter.getNumColumns() == 0) {
                final int numColumns = (int) Math
                        .floor(mGridView.getWidth() / (mImageThumbSize + mImageThumbSpacing));
                if (numColumns > 0)
                    mAdapter.setNumColumns(numColumns);

                MizLib.removeViewTreeObserver(mGridView.getViewTreeObserver(), this);
            }
        }
    });
    mGridView.setOnItemClickListener(new OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
            Intent i = new Intent();

            if (mMovieMap.get(Integer.valueOf(mMovies.get(arg2).getId()))) {
                i.setClass(getActivity(), MovieDetails.class);
                i.putExtra("tmdbId", mMovies.get(arg2).getId());
            } else {
                i.setClass(getActivity(), TMDbMovieDetails.class);
                i.putExtra("tmdbId", mMovies.get(arg2).getId());
                i.putExtra("title", mMovies.get(arg2).getTitle());
            }

            ActivityOptionsCompat options = ActivityOptionsCompat.makeSceneTransitionAnimation(getActivity(),
                    arg1.findViewById(R.id.cover), "cover");
            ActivityCompat.startActivity(getActivity(), i, options.toBundle());
        }
    });

    if (getArguments().containsKey("json")) {
        mJson = getArguments().getString("json");
        mBaseUrl = getArguments().getString("baseUrl");
        loadJson();
    }

}

From source file:com.desno365.mods.Activities.HelpActivity.java

public void onImageClick(View v) {

    // after the first time opening a full resolution image the user doesn't need the tooltip anymore
    SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(this);
    SharedPreferences.Editor editor = sharedPrefs.edit();
    editor.putBoolean("user_understood_full_resolution_help", true);
    editor.apply();//from  w w w  .  j  a v a2s  . co  m

    // starting the zoomImage activity (it has a switch case for the id passed to the intent)
    Intent i = new Intent(this, ZoomImageActivity.class);
    i.putExtra("viewId", v.getId());

    if (Build.VERSION.SDK_INT >= 21) {
        String transitionName = "transitionZoom";
        ActivityOptionsCompat transitionActivityOptions = ActivityOptionsCompat
                .makeSceneTransitionAnimation(this, v, transitionName);
        startActivity(i, transitionActivityOptions.toBundle());
    } else {
        startActivity(i);
    }
}

From source file:io.github.runassudo.ptoffline.activities.TripsActivity.java

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_trips);

    getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED);

    TransportNetwork network = Preferences.getTransportNetwork(this);

    final Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    if (toolbar != null) {
        if (network != null)
            toolbar.setSubtitle(network.getName());
        setSupportActionBar(toolbar);//  www .j av  a  2s. c o m

        ActionBar actionBar = getSupportActionBar();
        if (actionBar != null)
            actionBar.setDisplayHomeAsUpEnabled(true);
    }

    final Intent intent = getIntent();
    start_context = (QueryTripsResult) intent
            .getSerializableExtra("io.github.runassudo.ptoffline.pte.dto.QueryTripsResult");
    end_context = start_context;

    // retrieve trip data from intent that is not stored properly in trip object
    from = (Location) intent.getSerializableExtra("io.github.runassudo.ptoffline.pte.dto.Trip.from");
    via = (Location) intent.getSerializableExtra("io.github.runassudo.ptoffline.pte.dto.Trip.via");
    to = (Location) intent.getSerializableExtra("io.github.runassudo.ptoffline.pte.dto.Trip.to");
    products = (ArrayList<Product>) intent
            .getSerializableExtra("io.github.runassudo.ptoffline.pte.dto.Trip.products");

    swipeRefresh = (SwipyRefreshLayout) findViewById(R.id.swipe_refresh_layout);
    swipeRefresh.setColorSchemeResources(R.color.accent);
    swipeRefresh.setDistanceToTriggerSync(getDragDistance(this));

    mRecyclerView = (RecyclerView) findViewById(R.id.trips_recycler_view);
    mRecyclerView.setLayoutManager(new LinearLayoutManager(this));
    mRecyclerView.setItemAnimator(new DefaultItemAnimator());
    mRecyclerView.setHasFixedSize(true);

    final SwipeDismissRecyclerViewTouchListener touchListener = new SwipeDismissRecyclerViewTouchListener(
            mRecyclerView, new SwipeDismissRecyclerViewTouchListener.DismissCallbacks() {
                @Override
                public boolean canDismiss(int position) {
                    return true;
                }

                @Override
                public void onDismiss(RecyclerView recyclerView, int[] reverseSortedPositions) {
                    for (int position : reverseSortedPositions) {
                        mAdapter.removeItemAt(position);
                        Snackbar snackbar = Snackbar.make(recyclerView, R.string.trip_removed,
                                Snackbar.LENGTH_LONG);
                        snackbar.setAction(R.string.undo, new View.OnClickListener() {
                            @Override
                            public void onClick(View view) {
                                mAdapter.undo();
                            }
                        });
                        snackbar.show();
                    }
                }

                @Override
                public void onItemClick(int position) {
                    Trip trip = mAdapter.getItem(position).trip;

                    Intent intent = new Intent(TripsActivity.this, TripDetailActivity.class);
                    intent.putExtra("io.github.runassudo.ptoffline.pte.dto.Trip", trip);
                    intent.putExtra("io.github.runassudo.ptoffline.pte.dto.Trip.from", from);
                    intent.putExtra("io.github.runassudo.ptoffline.pte.dto.Trip.via", via);
                    intent.putExtra("io.github.runassudo.ptoffline.pte.dto.Trip.to", to);
                    intent.putExtra("io.github.runassudo.ptoffline.pte.dto.Trip.products", products);

                    int pos = mAdapter.getPosition(trip);
                    ActivityOptionsCompat options = ActivityOptionsCompat.makeSceneTransitionAnimation(
                            TripsActivity.this, mRecyclerView.findViewHolderForAdapterPosition(pos).itemView,
                            trip.getId());
                    if (Build.VERSION.SDK_INT == Build.VERSION_CODES.N_MR1) {
                        // work around #285
                        startActivity(intent);
                    } else {
                        ActivityCompat.startActivity(TripsActivity.this, intent, options.toBundle());
                    }
                }
            });

    // Setting this scroll listener is required to ensure that during ListView scrolling, we don't look for swipes.
    mRecyclerView.setOnScrollListener(touchListener.makeScrollListener());
    // TODO also make sure a swipe prevents scrolling

    final boolean showLineName = network != null && network.hasGoodLineNames();
    ;

    mAdapter = new TripAdapter(ListTrip.getList(start_context.trips), touchListener, this, showLineName);
    mAdapter.setHasStableIds(false);
    mRecyclerView.setAdapter(mAdapter);

    if (to.type != LocationType.COORD && from.type != LocationType.COORD) {
        isFav = RecentsDB.isFavedRecentTrip(this, new RecentTrip(from, via, to));
        isFavable = true;
    } else {
        isFav = false;
        isFavable = false;
    }
}