美文网首页
Android技术-SharedElement Transiti

Android技术-SharedElement Transiti

作者: 极客匠 | 来源:发表于2019-03-04 21:00 被阅读0次

    简介

    shared Element Transition可以理解为一个View属于界面A又属于界面B,A/B的切换是通过动画实现的。

    正文

    使用步骤

    步骤一

    主题上设置windowContentTransitions

    <style name="AppTheme" parent="Theme.AppCompat.Light">
            m
     </style>
    

    步骤二

    设置共享元素,Activity1

    <ImageView
                android:id="@+id/img_slide_share"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_vertical"
                android:background="@drawable/circle_purple"
                android:transitionName="share" />
    
    <TextView
                android:id="@+id/tv_share"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_vertical"
                android:layout_marginLeft="12dp"
                android:gravity="center_vertical"
                android:text="Shared Elements"
                android:transitionName="share_text" />
    

    Activity2

      <View
            android:id="@+id/view_top"
            android:layout_width="match_parent"
            android:layout_height="200dp"
            android:background="@color/color_orange"
            android:transitionName="share"></View>
    

    步骤三

    添加相应的跳转动画

    mIntent.setClass(this, ShareElementsActivity.class);
                    ActivityOptions transitionActivityOptions = ActivityOptions.makeSceneTransitionAnimation(MainActivity.this
                            , Pair.create(findViewById(R.id.img_share), "share")
                            , Pair.create(findViewById(R.id.tv_share), "share_text"));
                    startActivity(mIntent, transitionActivityOptions.toBundle());
    

    总结

    元素共享式变换(shared element transition)决定了共享的view元素从一个Activity/Fragment 到另一个Activity/Fragment 的切换中是如何动画变化的。取决于每个共享元素的位置、大小以及外观。

    相关文章

      网友评论

          本文标题:Android技术-SharedElement Transiti

          本文链接:https://www.haomeiwen.com/subject/gpywuqtx.html