我正在以startActivityForResult()
开始一项活动,并向其发送一个额外的活动,然后关闭第二个活动,并返回上一个活动,将数据发送回来。
和
和
这种奇怪的行为发生。
我尝试过以下发布的解决方案:Blinking screen on image transition between activities和此处:Starting Activity on condition produces a flicker on screen,但均未成功。
这是(简单的)代码。 顺便说一下,这(当然)发生在Java或Kotlin(提供)中;如果我调用startActivity()而不是startActivityForResult()
,也会发生这种情况class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
btn_main.setOnClickListener { launchSecondActivity() }
}
private fun launchSecondActivity() {
Intent(this, SecondActivity::class.java).run {
putExtra(EXTRA_MESSAGE, editText_main.text.toString())
startActivityForResult(this, RETURN_MESSAGE_CODE)
Log.d("MainActivity", "Sending ${this.extras}")
// clean the editText
editText_main.setText("")
}
}
}
答案 0 :(得分:1)
启动第二个活动键盘时,该键盘仍然可见,并且它会将布局向上移动直到关闭。 尝试在您的活动清单中关注
<activity android:windowSoftInputMode="adjustResize"> </activity>
adjustResize不会将工具栏向上移动,但会调整窗口高度的大小,因此希望屏幕不会闪烁。如果这样做不能帮助延迟启动活动,让键盘完全关闭。