Trong khi thay thế phân đoạn, tôi đang sử dụng Hoạt ảnh trang trình bày có sẵn cho phiên bản lollipop android. Nó hoạt động như mong đợi cho sự thay thế đặc biệt này, nhưng khi nhấn nút quay lại, đầu tiên bật lại đoạn hiện tại & sau đó đảo ngược hoạt ảnh nhập (trượt ra) được thực hiện.lollipop android - setentertransition() cho đoạn không hoạt động bình thường khi thoát
private void replaceContentFrameByFragment(Fragment replaceBy, String replaceByFragmentTag) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
Slide slide = new Slide(Gravity.BOTTOM);
slide.setDuration(1000);
replaceBy.setEnterTransition(slide);
}
FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction();
fragmentTransaction.replace(R.id.content_frame, replaceBy, replaceByFragmentTag);
fragmentTransaction.addToBackStack(null);
fragmentTransaction.commitAllowingStateLoss();
}
Vì vậy, làm thế nào để buộc đoạn phát lại chỉ sau khi hoạt ảnh đảo ngược của trang trình bày kết thúc? Tôi nhận thấy rằng hoạt động có phương thức finishAfterTransition() được cung cấp. Có cái gì đó tương tự cho frgament?
đọc thêm về quá trình chuyển đổi ở đây: www.androiddesignpatterns.com/2014/12/activity-fragment-content-transitions-in-depth-part2.html – pskink
Thêm chuyển lợi nhuận riêng biệt cũng show cùng một hành vi. Slide slide = Slide mới (Gravity.BOTTOM); slide.setDuration (1000); replaceBy.setEnterTransition (trang trình bày); \t \t slide = new Slide (Gravity.BOTTOM); slide.setDuration (1000); replaceBy.setReturnTransition (trang trình bày); – Ankur
Bạn có thể đăng ảnh chụp màn hình về hành vi bạn đang chứng kiến không (thật khó để nói chính xác những gì bạn mô tả). Android Studio có công cụ chụp ảnh màn hình có thể hữu ích. –