为ListView创建类似leanback的缩放效果
Create Zoom effect similar to leanback for ListView
我正在尝试为我的 ListView 创建一种效果,该效果在外观上类似于 Leanback 中的 Row 项目。我已经尝试查看 Presenter
和 ListRow
以及 ObjectAdapter
但无法定义这些动画存在的位置。它们不一定是 1:1,但下面的屏幕截图是我正在尝试做的示例。
"essential" 组件如下:
需要将项目焦点设置为 "inflate" 或 "expand"
选中时需要有阴影,类似设置"elevation" for Material objects
当新项目成为焦点时,旧项目需要return恢复到之前的状态
这不需要特定于 Leanback。我只是在寻找 leanback 行已经完成的通用版本。
此缩放效果由 ListRowPresenter
结合 FocusHighlightHelper
处理。阴影由包装视图 ShadowOverlayContainer
处理,该视图由其他一些 Leanback class 应用于项目。如果您想在非 Android 电视场景(即没有 Leanback)中使用它,您最好在 [=14] 中当前选定的列表项上创建一个单独的比例+高度 ValueAnimator
动画=] 或其中之一支持 classes.
我正在尝试为我的 ListView 创建一种效果,该效果在外观上类似于 Leanback 中的 Row 项目。我已经尝试查看 Presenter
和 ListRow
以及 ObjectAdapter
但无法定义这些动画存在的位置。它们不一定是 1:1,但下面的屏幕截图是我正在尝试做的示例。
"essential" 组件如下:
需要将项目焦点设置为 "inflate" 或 "expand"
选中时需要有阴影,类似设置"elevation" for Material objects
当新项目成为焦点时,旧项目需要return恢复到之前的状态
这不需要特定于 Leanback。我只是在寻找 leanback 行已经完成的通用版本。
此缩放效果由 ListRowPresenter
结合 FocusHighlightHelper
处理。阴影由包装视图 ShadowOverlayContainer
处理,该视图由其他一些 Leanback class 应用于项目。如果您想在非 Android 电视场景(即没有 Leanback)中使用它,您最好在 [=14] 中当前选定的列表项上创建一个单独的比例+高度 ValueAnimator
动画=] 或其中之一支持 classes.