android - 时序片段转换 - Android
问题描述
我正在构建一个 Android 应用程序,在一个部分中有一个卡片片段列表,我已将其加载到屏幕中。这些片段使用片段管理器转换从右侧进入,但是它们是一次性完成的。我想让它们按顺序输入,因为感觉更自然,但我不知道怎么做。代码贴在下面。
fun updateResultsActivity() {
// Add fragments to container
for (i in 0 until placesList.size) {
fragmentManager.beginTransaction().setCustomAnimations(R.animator.enter_from_right, R.animator.exit_to_left)
.add(R.id.layout_container, fragmentList[i]).commit()
}
updateShowMoreButton()
}
我尝试添加 sleep() 行,使该函数仅添加一个片段并将所述函数置于一个循环中,而其他的似乎没有任何效果。欢迎任何建议,所以提前谢谢你!
解决方案
我不确定它是否是期望的行为,但是您可以在初始化 UI 组件时创建与主循环器关联的 Handler,然后您可以使用片段事务发布延迟的可运行。
val handler = Handler(Looper.getMainLooper())
for (i in 0 until placesList.size) {
handler.postDelayed({
fragmentManager.beginTransaction().setCustomAnimations(R.animator.enter_from_right, R.animator.exit_to_left)
.add(R.id.layout_container, fragmentList[i]).commit()
}, 1000*i)
}
推荐阅读
- ruby-on-rails - Rails Oauth 设计 Omniauth
- c# - 在 C# 中创建一个每次都可以具有不同属性的类或对象
- angular - OpenLayers RasterSource 操作回调找不到对象函数
- c# - Service Fabic - 无法在 Windows 上本地运行 Angular:EPERM:不允许操作
- ruby-on-rails - 状态:206 部分内容 - 多次加载 mp4
- r - 用 R 绘制 sin 函数并将它们定位在 x 轴上
- swift - Xcode如何在UITableView中添加向下滑动动作
- json - 如何从 HTTPContext 的 WebAPI 请求中获取函数参数?
- css - 编译 sass 部分生成具有相同名称的重复类
- javascript - 如何在highcharts中动态显示地图图表反应