【问题标题】:Android Activity Slow transitionAndroid Activity 缓慢过渡
【发布时间】:2016-09-27 18:41:47
【问题描述】:

单击触发新活动意图的按钮后,我想从堆栈中删除旧活动。 问题是:过渡不像正常过渡那样平滑。大约有半秒钟的时间,屏幕完全是白色的。 如何让这个顺利?

button.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {

         Intent intent = new Intent(MainActivity.this, HomeActivity.class);
         intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
         startActivity(intent);
    }
});

【问题讨论】:

    标签: android android-intent stack transition


    【解决方案1】:

    使用:Activity.overridePendingTransition(). 使用 XML 文件定义简单的过渡动画。

    记住这 4 个属性:

    android:interpolator="@android:anim/accelerate_interpolator"
    android:fromAlpha="0.0"
     android:toAlpha="1.0"
     android:duration="2000"
    

    这个属性使过渡“平滑”

    【讨论】:

    • 没有区别
    【解决方案2】:

    Google I/O 2014 之类的应用程序使用以下代码使活动之间的过渡平滑。

    overridePendingTransition(0, 0);
    

    您必须将它添加到 Base Activity 和要打开的 Activity

    【讨论】:

    • @XxGoliathusxX 详细了解添加该内容时发生的情况
    • 它的行为与没有相同。我在 startAcitvity() 之后添加了这一行。然后大约半秒钟,屏幕是白色的。之后出现其他活动。
    • @XxGoliathusxX 你必须在 HomeActivity 和 MainActivity 的onCreate() 方法的第一行添加这行
    • 没有区别
    • @XxGoliathusxX 尝试在startActivity() 之后调用finish()
    猜你喜欢
    • 1970-01-01
    • 2014-02-21
    • 1970-01-01
    • 2013-02-11
    • 2021-09-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-15
    相关资源
    最近更新 更多