我有一个活动,我使用过渡动画制作动画,如下所示:
ActivityOptionsCompat options = ActivityOptionsCompat.makeSceneTransitionAnimation(activity, view, transitionStr);
ActivityCompat.startActivity(activity, intent, options.toBundle());
然而,当我回去时,我不希望动画以反向运行。那可能吗?我正在使用appcompat-v7:23.1.1中的AppCompatActivity。
答案 0 :(得分:4)
finish();
Details.this.overridePendingTransition(R.anim.nothing,R.anim.nothing);
使用这段代码,您可以覆盖当前活动的完成动画。
答案 1 :(得分:4)
如果您不希望将该转换返回到父活动,请使用
@Service
public class PersonServiceImpl implements PersonService, UserDetailsService {
private static final Logger logger = LoggerFactory.getLogger(PersonServiceImpl.class);
private PersonDAO personDAO;
private PersonService personService;
public void setPersonDAO(PersonDAO personDAO) {
this.personDAO = personDAO;
}
PersonController personController = new PersonController(personService);
String res = personController.sub(codeJSON.toString());
....
}
如果您有时希望在返回父活动的过程中进行转换,则可以将其包装在条件中。示例用例是在显示插页式广告时禁用转换:
finish();
答案 2 :(得分:0)
根据the answers to this question,您无法反向运行动画。相反,我会创建另一个转换,它基本上与您在启动活动时使用的转换相反,并将其添加到活动中(R.anim.inverseTransition
是您创建的转换):
finish();
Details.this.overridePendingTransition(R.anim.inverseTransition,R.anim.inverseTransition);
(有关详细信息,请参阅this answer)