gpt4 book ai didi

Android 在 Activity recreate() 上进行转换

转载 作者:IT老高 更新时间:2023-10-28 23:36:22 27 4
gpt4 key购买 nike

我想在更改主题后在 Activity recreate() 上放置一个过渡,可以吗?

我试过了:@android:anim/fade_in@android:anim/fade_out但它不起作用,这也会影响我打开和关闭 Activity 时的转换,但我不希望这样

最佳答案

完成@Yaro 的回答,

onCreate中,如果savedInstanceState为null,试试intent extras。仅当您使用 bundle 软件调用 super.onCreate 时, View 的状态才会正确恢复。

public class ExampleActivity extends Activity {

@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
//setTheme(whatever);
super.onCreate(savedInstanceState != null ? savedInstanceState : getIntent().getBundleExtra("saved_state"));
}

protected void transitionRecreate(){
Bundle bundle = new Bundle();
onSaveInstanceState(bundle);
Intent intent = new Intent(this, getClass());
intent.putExtra("saved_state", bundle);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out);
}

}

为我工作,您可以使用 finish() 代替 CLEAR_TOP 标志

关于Android 在 Activity recreate() 上进行转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42120440/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com