给定 2 个 fragment A
和 B
,A
移动到 B
(所以 A -> B
), via navigation component action with enter animation 添加了。如何防止 Fragment B
中的 View 在输入动画运行时被点击?我发现了这个问题 How to add listener to android Navigation Architecture Component action animation但不幸的是没有答案。
我在文档中发现,我可以通过挂接到 NavAction
上的 NavOptions
对象获取该动画的资源 ID,但不是 Animation
对象本身。
最佳答案
您可以首先在 xml android:enabled="false"
中禁用您的 View ,然后在 fragment 的 onViewCreated
中设置一个延迟
使用协程的动画持续时间:
override fun onViewCreated(view: View, savedState: Bundle?) {
super.onViewCreated(view, savedState)
// Initialize views here.
lifecycleScope.launch {
delay(resources.getInteger(R.integer.anim_duration).toLong())
// Enable views here
myView.isEnabled = true
}
}
关于android - 在通过导航组件添加到 Action 的动画完成之前,防止点击 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59147647/