activity 转场动画不生效_Activity的转场动画

2. V4包中的ActivityOptionsCompat和 ActivityCompat

2.1. makeCustomAnimation(Context context, int enterResId, int exitResId)

热修复的

e5c4a5b5e7a1c48f6cc9ffb9df8304c0.png

我很喜欢

IOS好的体验我们会返回提友好的交互,是的,用完一次后都觉得它很炫酷,尤其是各种转场动画,其实Android在5.0+上也有很好的交互,若是我们把这些交互用在开发中,你的APP也会有一个很好的用户体验。

Android Design规范中也给出了有意义的转场,使得不同页面之间切换更加平滑、更加流程。就像它自己解释道: 谨慎编排的动画可以在有多步操作的过程中有效地引导用户的注意力;在版面变化或元素重组时避免造成困惑;提高用户体验的整体美感。动画设计不仅应当优美,更应当服务于功能。

所以今天我们就来一步步来介绍Aciticity转场动画的使用。

传统的转场方式

对于Android2.0后加入的对Activity的转场动画 overridePendingTransition(enterAnim, exitAnim) ,能满足我们的一些页面

这种实现是针对整个Activity的页面转场使用,如sliding_from_right、sliding_to_left这些动画。

—— sliding_from_right ——

—— sliding_to_left

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是一个简单的安卓原生代码实现动画的示例: 首先,在你的 XML 布局文件中添加两个 View,分别是起点和终点,例如: ```xml <RelativeLayout android:id="@+id/transition_layout" android:layout_width="match_parent" android:layout_height="match_parent"> <ImageView android:id="@+id/start_view" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/start_image"/> <ImageView android:id="@+id/end_view" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/end_image"/> </RelativeLayout> ``` 接下来,在你的 Java 代码中定义动画的起点和终点 View,例如: ```java RelativeLayout transitionLayout = findViewById(R.id.transition_layout); ImageView startView = findViewById(R.id.start_view); ImageView endView = findViewById(R.id.end_view); ``` 然后,创建一个 ActivityOptionsCompat 对象,指定起点和终点 View,以及动画的类型和时长,例如: ```java ActivityOptionsCompat options = ActivityOptionsCompat.makeSceneTransitionAnimation( this, Pair.create((View) startView, "start_view"), Pair.create((View) endView, "end_view") ).setDuration(500); ``` 其中,Pair.create() 方法用于将 View 和其对应的名称打包成一个 Pair 对象。这里的名称可以是任意字符串,但必须与动画目标 Activity 中对应的 View 的名称相同。 最后,在启动动画目标 Activity 时,调用 startActivity() 方法,并传入上面创建的 options 对象,例如: ```java Intent intent = new Intent(this, TargetActivity.class); startActivity(intent, options.toBundle()); ``` 当目标 Activity 启动时,动画就会自动播放。 希望这个示例能够帮助你实现自己的动画
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值