android - finishAfterTransition() not working properly -
in app want passage activity activity b animated. in particular, want activity slide out , activity b fade in when clicking on button, and, when clicking button, activity b fade out , activity slide in. well, first animation (slide out - fade in) works fine. when click button, animation triggers, of times see fade out of activity b , blank screen, activity doesn't appear @ all. wrong? here's code:
activity a:
@override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); if (build.version.sdk_int >= build.version_codes.lollipop) { setupwindowanimations(); } ... } @override protected void setupwindowanimations() { if (android.os.build.version.sdk_int >= android.os.build.version_codes.lollipop) { slide slide = new slide(); slide.setduration(1000); slide.setslideedge(gravity.right); getwindow().setexittransition(slide); getwindow().setreentertransition(slide); } }
activity b:
@override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setlayout(r.layout.file_browser); if (build.version.sdk_int >= build.version_codes.lollipop) { setupwindowanimations(); } ...} @override protected void setupwindowanimations() { if (android.os.build.version.sdk_int >= android.os.build.version_codes.lollipop) { fade fade = new fade(); fade.setduration(1000); getwindow().setentertransition(fade); getwindow().setreturntransition(fade); } } clicking on button starts activity b activity a:
fab.setonclicklistener(new view.onclicklistener() { @requiresapi(api = build.version_codes.lollipop) @override public void onclick(view v) { activityoptions options = activityoptions.makescenetransitionanimation(activitya.this); intent intent = new intent(activitya.this,activityb.class); startactivity(intent, options.tobundle()); }}); the method button:
@override public boolean onsupportnavigateup(){ if (build.version.sdk_int >= build.version_codes.lollipop) { finishaftertransition(); } return true; } i'm missing something. hope you'll me figure out. in advance!
Comments
Post a Comment