kun*_*unt 5 android transitions android-5.0-lollipop
我正在玩棒棒糖sceneTransitionAnimations.
为了得到它的工作,你需要实现getWindow().setExitTransition()+ getWindow().setReenterTransition()在调用活动的onCreate,而getWindow().setEnterTransition()+ getWindow().setReenterTransition()在所谓的活动的onCreate.
然后,当你打电话时,startActivity你必须通过呼叫传递Bundle给你获得的那个功能ActivityOptions.makeSceneTransitionAnimation(getActivity()).toBundle().
这很好用.但是我需要开始一项活动startActivityForResult.这个函数只需要a Intent和a requestCode,但不需要Bundle.将捆绑包放入意图使用putExtras不起作用.
当我想使用时,如何让这些漂亮的Lollipop过渡工作startActivityForResult?
在我被问到代码时编辑:
我在片段中,我有一个项目列表.单击某个项目时,我会启动另一个活动.
Intent intent = new Intent(context, otherActivity.class);
Bunde bundle = null;
if (android.os.Build.VERSION.SDK_INT >= 21)
bundle = ActivityOptions.makeSceneTransitionAnimation(getActivity()).toBundle();
Run Code Online (Sandbox Code Playgroud)
现在这里有两个区别.这个工作:
getActivity().startActivity(intent, bundle);
Run Code Online (Sandbox Code Playgroud)
片段不提供此功能,因此我必须使用其父活动 - 因此getActivity().
这其中并没有工作:
intent.putExtras(bundle);
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)
感谢Squonk,我逐渐意识到我尝试使用的方法startActivityForResult(Intent intent, int requestCode, Bundle options)确实存在.
我做错了尝试从Fragment开始,它没有实现 - 同样startActivity(Intent intent, Bundle bundle)- 所以你需要调用getActivity().startActivityForResult(Intent intent, int requestCode, Bundle options).
| 归档时间: |
|
| 查看次数: |
3325 次 |
| 最近记录: |