Lollipop переходы - фрагмент к деятельности

Я пытаюсь выяснить, как сделать переходы (или фрагмент??) в Lollipop. Я использую AppCompat v7 - v21.

Вот мой сценарий:

Если щелкнуть элемент в GridView(внутри фрагмента), я хочу, чтобы изображение было выполнено с переходом, как в ссылке здесь. Как мне этого добиться? И есть ли способ, которым я могу сделать это, используя стили? И если я сделаю это с помощью кода, могу ли я получить пример того, как сделать это из фрагмента в действие?

[РЕДАКТИРОВАТЬ]

Вот чего я достиг до сих пор:

styles.xml: values-v21

<?xml version="1.0" encoding="utf-8"?>
<resources>

    <style name="AppBaseTheme" parent="Theme.AppCompat.Light.DarkActionBar">

        <!-- API 21 theme customizations can go here. -->
        <item name="windowActionBar">false</item>
        <item name="android:colorPrimary">@color/dark_grey</item>
        <item name="android:colorPrimaryDark">@color/dark_grey</item>
        <item name="android:colorAccent">@color/dark_grey</item>
        <item name="android:colorControlNormal">@color/white</item>

        <!-- enable window content transitions -->
        <item name="android:windowContentTransitions">true</item>
        <item name="android:windowAllowEnterTransitionOverlap">true</item>
        <item name="android:windowAllowReturnTransitionOverlap">true</item>
        <item name="android:windowSharedElementEnterTransition">@android:transition/move</item>
        <item name="android:windowSharedElementExitTransition">@android:transition/move</item>
    </style>

</resources>

onItemClick () в MainActivity:

    Intent i = new Intent(this, DetailActivity.class);
    i.putExtra("url", url);
    i.putExtra("twoPane", false);
    i.putExtra("title", title);
    i.putExtra("imageurl", imageurl);
    // startActivity(i);

    ActivityOptionsCompat options = ActivityOptionsCompat
            .makeSceneTransitionAnimation(this,
                    v.findViewById(R.id.item_imageview), imageurl);
    ActivityCompat.startActivity(this, i, options.toBundle());

ПодробноДеятельность:

    imageview = (SquareImageView) findViewById(R.id.imageview_detail);
    ViewCompat.setTransitionName(imageview, imageurl);
    imageview.setImageUrl(imageurl, ImageCacheManager.getInstance()
            .getImageLoader());

        getWindow().getEnterTransition().addListener(new TransitionListener() {
            @Override
            public void onTransitionEnd(Transition transition) {

                if (Const.DEBUGGING_INT)
                    Log.d(Const.DEBUG, "onTransitionEnd");

                //fadeOutAndHideImage(imageview);

                if (mDetailFragment == null)
                    mDetailFragment = new DetailFragment();
                getSupportFragmentManager()
                        .beginTransaction()
                        .replace(R.id.detail_fragment_container,
                                mDetailFragment).commit();

                mDetailFragment.setParameters(bundle);

            }
}

Это дает мне переход, но переход не достаточно гладкий, как я ожидал. Все еще работаю над этим.

Могу ли я получить эти переходы в устройствах перед леденцом на палочке? Когда я пытаюсь запустить код в более низких версиях, например, 2.3.6, он вылетает и говорит: NoSuchMethodDef getEnterTransition(), Связаны ли эти переходы только с Lollipop?

0 ответов

Другие вопросы по тегам