feat(season): 支持根据下一个播放的剧集聚焦季与集#282
feat(season): 支持根据下一个播放的剧集聚焦季与集#282Daydreamer-riri wants to merge 13 commits intoGhostenEditor:devfrom
Conversation
GhostenEditor
left a comment
There was a problem hiding this comment.
我不太明白为什么要加这个功能,感觉没什么必要
而且此处代码也未达到预期效果
|
如果是多季的剧集,我只想在最近看的季或者最近看的集附近操作,但是每次打开列表都是第一季第一集。尤其是有特别篇或者未知季时会聚焦到特别篇。我每一次进入这个页面的第一个操作100%是更换季。我不确定奈飞的默认行为是什么。 因为我没验证,所以不知道有没有效果…… |
|
对,应该把季的排序改一下,特别季放最后,我会调整。 |
674f208 to
fc978b8
Compare
763ca5f to
fb9aaa7
Compare
c5a48b0 to
ede9d4e
Compare
chore: remove useless
fix: list fix: manager
chore: 兜底
a271508 to
75a3c63
Compare
|
Hi,这个 PR 已经就绪。出了首次进入聚焦之外,为章节页面提供了更符合直觉的焦点管理(抽象出了 |
d9d94cb to
75a3c63
Compare
GhostenEditor
left a comment
There was a problem hiding this comment.
感觉你像复杂了,你已经在上面计算了ScrollController的offset,功能都基本实现了,没必要有再嵌套两个FocusScope,还要处理跳转。
可以参考下这里的代码,但是获取数据的逻辑得改一下
Ghosten-Player/lib/pages_tv/player/player_controls.dart
Lines 1006 to 1107 in 405dd91
|
两个 FocusScoped 是为了记忆焦点位置(Focusscoped 会自动记忆区域内最后一个焦点位置),这个部分其实应该属于另一个 feature,如果你希望可以拆到另一个 pr。后续我想尝试将类似的方法引入首页。 相关 issue #300 |
|
Hi @GhostenEditor,关于 offset 计算的点,我已经使用了固定的值进行计算,移除了 LayoutBuilder。请再审阅一次。 |
是的,这两个FocusScope不应该在这个pr提交,而且我感觉实现方式不太好,请在此pr忽略该问题。然后scroll offest的计算方式,直接用itemHeight*index+headerHeight,具体的计算方式放在注释里。 |
Summary
本 PR 新增 FocusListController 统一管理“记忆焦点/恢复焦点”逻辑,并将其应用于季列表与集列表;同时在当前季包含 nextToPlay 时自动滚动到对应集位置。
Motivation
Key Changes
Preview
vedio