According to the docs,我们只需更新build.gradle
中的'androidx.activity:activity'
版本,并将android:enableOnBackInvokedCallback="true"
添加到 list 中,以进行预测性恢复工作.我做了这两项更改,动画效果一般,但从活动二转到活动一时,屏幕呈白色闪烁.我认为这有点像这款应用的全球背景,然而,android:windowBackground
在这两个活动中都是黑暗的.这两个活动都是ComponentActivity
,并且UI是基于Jetpack Compose的(没有白色背景的可组合组件).我错过了什么?
Update:我创建了一个包含两个活动的新项目:
class Activity1 : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
Box(modifier = Modifier.fillMaxSize().background(Color.Black)) {
Button(onClick = {
startActivity(Intent(this@Activity1, Activity2::class.java))
}) {
Text(text = "TO ACTIVITY 2", color = Color.White)
}
}
}
}
}
class Activity2: ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
Box(modifier = Modifier.fillMaxSize().background(Color.Black)) {
}
}
}
}
两项活动的主题都是:
<style name="Theme.PredBackTest" parent="android:Theme.Material.Light.NoActionBar">
<item name="android:windowBackground">@android:color/black</item>
</style>
然而,结果是相同的-从Activity2移回Activity1时,它呈白色闪烁.