我在我的应用程序中有以下过渡,但由于大量加载到 recyclerview 和其他图形元素中,到新目的地的动画滞后。
我曾尝试在 recyclerview 上加载元素时使用 postDelayed,但在某些设备上,您会觉得在转换后等待,而在其他设备上,转换需要更长的时间(取决于设备)。所以我登陆了700ms,但这对所有人都不好......
有没有一种方法(即回调)我可以检测到过渡何时实际确认结束。
我的代码非常简单,当单击一个片段中的按钮时,我称之为:
private fun onDetailClick(stationId: String, itemView: View)
{
(itemView.context as MainActivity).bottom_navigation.visibility = View.GONE
StationDetailRepository.readStationCurrentPrices2(stationId)
val direction = StationListFragmentDirections.actionStationListFragmentToStationDetailFragment(stationId)
try {
Log.i(TAG,"trns: before navigate")
itemView.findNavController()?.navigate(direction)
Log.i(TAG,"trns: after navigate")
}catch(iae: IllegalArgumentException)
{
iae.printStackTrace()
}
catch (ise: IllegalStateException)
{
ise.printStackTrace()
}
}
简单地说,我怎样才能检测到这个导航实际上已经结束,并且设置了一个我可以在另一个 Fragment 中观察到的 viewModel 共享,所以可以以一种理智的方式触发元素的加载?
RG