简介
因此,当用户滑动时,我正在从一个片段向另一个片段进行幻灯片转换。 现在,更改片段时,并非所有视图都应该滑出,因此我将transitionGroup = false设置为片段的rootview。 所有不应滑动的视图都通过addSharedElement()方法添加到fragmenttransaction。效果很好
但是(我的问题):那些(像预期的那样)滑移的视图不会以相同的速度(没想到的)滑移。
我尝试过的事情:
我为进入幻灯片和退出幻灯片尝试了不同的插值器
我删除了xml中的transitionGroup = false语句,并添加了不应通过excludeTarget()方法滑动的视图。
现在这是我正在处理此问题的方法:
private void addSlideTransition(Fragment oldFragment, Fragment newFragment, boolean toLeft) {
Slide exitSlide = new Slide();
Slide enterSlide = new Slide();
exitSlide.setInterpolator(new DecelerateInterpolator());
enterSlide.setInterpolator(new AccelerateInterpolator());
exitSlide.setDuration(500);
enterSlide.setDuration(500);
if(toLeft) {
exitSlide.setSlideEdge(Gravity.LEFT);
enterSlide.setSlideEdge(Gravity.RIGHT);
}
else {
exitSlide.setSlideEdge(Gravity.RIGHT);
enterSlide.setSlideEdge(Gravity.LEFT);
}
oldFragment.setExitTransition(exitSlide);
newFragment.setEnterTransition(enterSlide);
}
在第二次尝试中,我添加了此内容:
exitSlide.excludeTarget(R.id.button_help, true);
enterSlide.excludeTarget(R.id.button_help, true);
-并指出-从我的xml布局中删除了transitionGroup = false语句。
我期望的是,所有滑开的元件都像是“坐在一辆车上”。
但是实际上,如果它们从屏幕的右边缘开始,它们会更早开始向左移动。这似乎是一个“功能”,但出于特殊目的,我想删除此功能。
提前谢谢!如果您需要更多信息,请发表评论。