and*_*per 13 android android-activity android-transitions android-5.0-lollipop
就像标题说的那样...
我正在使用活动之间的转换,并且我希望为这两个活动提供某种监听器(或事件),以便在转换完成时以及在它开始之前.
以下是创建转换的示例代码:
final Intent intent = new Intent(activity, TargetActivity.class);
if (initialQuery != null)
intent.putExtra(EXTRA_INITIAL_QUERY, initialQuery);
final String transitionName = activity.getString(R.string.transition_name);
ViewCompat.setTransitionName(viewToTransitionFromAndTo, transitionName);
final ActivityOptionsCompat options = ActivityOptionsCompat.makeSceneTransitionAnimation(activity,
viewToTransitionFromAndTo, transitionName);
ActivityCompat.startActivityForResult(activity, intent, requestCode, options.toBundle());
Run Code Online (Sandbox Code Playgroud)
Geo*_*unt 26
您可以为您使用的任何转换添加侦听器.例如:
getWindow().getSharedElementTransition().addListener(listener);
Run Code Online (Sandbox Code Playgroud)
这将监听转换本身何时开始和结束.但是,它不会为您提供整个活动转换信息.例如,调用活动不知道被调用活动何时完成其转换.
假设顶部的过渡没有标记为半透明,则会告知基础过渡停止onStop()- 当顶级活动变得不透明时.这并不意味着过渡已经结束,只是意味着顶级活动的淡入已经结束.但是,一旦活动停止,我想不出你想做的事情.但是,当活动是半透明的时候,这无济于事.
所以,不,如果你想让这两个活动都了解转换,你就必须将其破解.被调用的活动总是知道何时转换完成(使用监听器),并且调用活动总是在退出时知道.
| 归档时间: |
|
| 查看次数: |
7832 次 |
| 最近记录: |