繁体   English   中英

Android中的自定义活动过渡动画

[英]custom activity transition animation in Android

我的应用程序的当前流程是活动A - >活动B - >片段BI尝试实现活动过渡动画。 我已经阅读了许多关于使用overridependingtransition()的帖子,我已经实现了这些帖子中提到的几乎所有内容。 不知何故,动画无效。

我需要这个在Android 2.2上工作,即sdkversion 8

这是代码:

Activity A 
oncreate method

Intent detailIntent = new Intent(this, WordDetailActivity.class);
            detailIntent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
            detailIntent.putExtra(DbAdapter.KEY_ROWID, id);
                startActivity(detailIntent);
                overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out);


 @Override
    protected void onPause() {
        super.onPause();
        overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out);
    }


Activity B

    @Override
    protected void onPause() {
        // TODO Auto-generated method stub
        super.onPause();
        overridePendingTransition(R.anim.fade_in, R.anim.fade_out);
    }

如果有人也可以建议我使用任何替代方法来实现Android 2.2的活动转换,那将是很棒的

在手机设置中禁用其动画的手机不会显示活动过渡动画...所以不要指望它。

此外,您无法更改这些用户设置。

而不是onPause()onResume()

@Override
public void onResume() {
    super.onResume();
    overridePendingTransition(R.anim.fade_in, R.anim.fade_out);
}

并尝试使用`minSdk =“5”

编辑

试试这样吧

Activity_A.this.overridePendingTransition(R.anim.fade_in, R.anim.fade_out);

Activity_B.this.overridePendingTransition(R.anim.fade_in, R.anim.fade_out);

编辑2

@Override
public void overridePendingTransition(int enterAnim, int exitAnim) {
    super.overridePendingTransition(enterAnim, exitAnim);
    Log.d(LOG_TAG, "In overridePendingTransition");
}

检查这个日志是否被命中,因为我们不知道这个方法被调用的天气?(把它放在A和B里面)

另请删除detailIntent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION); falg,如果它命中,则替换super.overridePendingTransition(enterAnim, exitAnim); with super.overridePendingTransition(R.anim.fade_in, R.anim.fade_out);

除startActivity之外,无需在其他任何地方写入。 写这样的。

 Intent detailIntent = new Intent(this, WordDetailActivity.class);

 detailIntent.putExtra(DbAdapter.KEY_ROWID, id);
   startActivity(detailIntent);
 this.overridePendingTransition(android.R.anim.fade_in,android.R.anim.fade_out)
    //annination indside fragment to translate fragment

      getFragmentManager()
            .beginTransaction()
            .setCustomAnimations(R.animator.slide_in_right,
                    R.animator.slide_in_left_out,     
                                            R.animator.slide_in_left,
                    R.animator.slide_in_right_out)
            .replace(R.id.linearlayout, new mFragment())
            .addToBackStack("fragments")
            .commit();

  // add inside activity to translate activity

 Intent intent = new Intent(mContext, AbcActivity.class);
            startActivity(intent);
            overridePendingTransition(R.anim.slide_right_in,
                    R.anim.slide_left_out);

  // put this inside OnBackPressed 
    overridePendingTransition(R.anim.slide_left_in, R.anim.slide_right_out);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM