Android技术-SharedElement Transition

简介

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 的切换中是如何动画变化的。取决于每个共享元素的位置、大小以及外观。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容