现状和计划
- Dominant language
- Java
- Stars
- 2.5k
- Forks
- 221
- PR merge metrics
- No merged PRs in 30d
Description
## 2021.4.6
Scene 的现状是目前的 API 已经满足了产品的需求,开发者本身有其他忙碌的工作,所以迭代的很慢。不过这个库能做的当然还有很多,把目前完成的,开发的,计划的列一下:
### 已经完成的
1,拆分 com.bytedance.scene:scene,抽出单独的 com.bytedance.scene:scene-navigation,单独拆出来导航库单独方便后续迭代
2,NavigationScene 完善透明 Scene 和不透明 Scene 之间的切换,主要用于动画,适用于本身不透明的页面,在动画过程中先透明,动画后切回不透明的场景
### 正在开发中的
1,现有 Activity + Fragment 设计的 App,在加入 Scene 后如何处理首页被覆盖的 Fragment 等其生命周期的兼容方案
2,优化 NavigationScene push 的 API,想加入类似官方 Navigation component 的 navOptions DSL 这种
```kotlin
findNavController().navigate(
R.id.action_fragmentOne_to_fragmentTwo,
null,
navOptions { // Use the Kotlin DSL for building NavOptions
anim {
enter = android.R.animator.fade_in
exit = android.R.animator.fade_out
}
}
)
```
```kotlin
navigationScene?.push(TargetScene(),
pushOptions {
anim {
enter = android.R.animator.fade_in
exit = android.R.animator.fade_out
}
}
)
```
### 还需要完善的
1,Scene Router,https://github.com/bytedance/scene/tree/scene_router 支持 Url 跳转,用于组件化解耦
2,Scene Dialog,https://github.com/bytedance/scene/tree/master/library/scene_dialog 解决普通 Dialog 会盖在所有 View 上面,所以封装了一套 Scene Dialog
3,Safe Argument,还没做,用注解来解决 Bundle 类型不安全
Contributor guide
No contributing guide indexed for this repository
Research direction
This issue is a roadmap rather than a bounded task; begin by reviewing the scene_router branch and library/scene_dialog path, then compare them with the listed lifecycle, push-options, and Safe Argument goals. A useful outcome would require selecting one goal, defining its scope and acceptance criteria, and confirming the relevant implementation entry points.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- android, java, kotlin
- Domain
- mobile
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 15/100