删除Android上的切换活动动画

时间:2012-09-02 04:17:13

标签: android animation android-activity

有两项活动。

活动A有一个可以切换到活动B的按钮。

活动B还有一个可以切换到活动A的按钮。

这是我的代码,

@Override
public void onTabSelected(Tab tab, FragmentTransaction ft) {
    Log.e("current", context.getClass().toString());
    Log.e("changeto", tab.getTag().toString());
    if(context.getClass()==tab.getTag())
        return;

    Intent intent = new Intent(new Intent(context,(Class<?>) tab.getTag()));
    intent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
    intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
    context.startActivity(intent); 
}

我想在切换活动时删除动画,但它不起作用。

但是,如果我删除

intent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);

它完美无缺。为什么呢?

抱歉我的英语不好。

2 个答案:

答案 0 :(得分:7)

在您要切换到的活动中,尝试在onResume或onCreate中使用overridePendingTransition(0,0);

答案 1 :(得分:0)

如果你在制表符开关中调用startActivity,那你就错了。选项卡用于在当前活动中切换视图,切换选项卡永远不应创建导航历史记录。考虑使用新选择的选项卡内容切换片段或替换视图层次结构。

你为选项卡选择切换活动的路径越多,你就越会发现自己玩弄含有微妙用户体验错误的傻瓜,这会让你的应用感觉“错误”。

通过上面提议的实现,“后退”按钮将返回先前选择的选项卡,打破“从不创建导航历史记录”规则。您可能认为在开始下一个时完成()当前活动可以解决这个问题,但是您仍然会遇到许多其他问题。用户期望状态的微妙元素(例如滚动位置)在选项卡上保持不变。从Android 4.0开始,用户应该能够在选项卡(http://developer.android.com/design/building-blocks/tabs.html)之间水平滑动,如果您为每个选项卡的内容使用单独的活动,则无法完成这些选项。

这只是一个小样本,列表就在继续。选项卡不应用于在不同的活动之间切换。