android窗口动画scene,Android 过渡动画示例 ActvitySceneTransition

1,使用ActivityOptionsCompat.makeSceneTransitionAnimation(Activity activity, Pair... sharedElements)工厂方法创建一个android.app.ActivityOptions实例

Pair... sharedElements参数包含了我们想要过渡的起始View,在被加载Activity中的目标View

例:new Pair(view.findViewById(R.id.imageview_item), DetailActivity.VIEW_NAME_HEADER_IMAGE)

2,使用ActivityCompat.startActivity(Activity activity, Intent intent, @Nullable Bundle options)去启动Activity

3,在被加载的Activity中,使用setTransitionName(View view, String transitionName)中使用静态的值设置将要过渡的view的名字,这可以在布局文件做,但是通过静态变量暴露它将使其他类容易查找到它,注意此处的transitionName一定要和Pair对象的第二个参数对应上

4,可以增加TransitionListener监听器,监听过渡动画的执行情况

4.1 获取Transition transition = getWindow().getSharedElementEnterTransition();

4.2

transition.addListener(new Transition.TransitionListener() {

@Override

public void onTransitionEnd(Transition transition) {

// Make sure we remove ourselves as a listener

transition.removeListener(this); }

@Override

public void onTransitionStart(Transition transition) { // No-op}

@Override

public void onTransitionCancel(Transition transition) {

// Make sure we remove ourselves as a listener

transition.removeListener(this); }

@Override

public void onTransitionPause(Transition transition) { // No-op}

@Override

public void onTransitionResume(Transition transition) {// No-op}

});

具体详见google示例

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值