我正在尝试为音乐播放器实现以下迷你播放器:ui gif
我目前有一个比一张卡片/歌曲略高的垂直视图寻呼机。它通过 FragmentStatePagerAdapter 填充了迷你播放器片段。我现在拥有了我想要的大部分垂直滚动行为,但正如预期的那样,迷你播放器的顶部被 ViewPager 的布局边界剪裁了。这导致我调查PopupWindow
.
我目前正在尝试实现 gif 中所见的渐隐效果。我正在使用一个PopupWindow
,以便可以在垂直 viewpager 的视图边界之外看到迷你播放器视图。我尝试将片段中的视图放在 PopupWindow 中,但我得到了一个 IllegalStateException,因为该视图已经有一个父视图(它是 VerticalViewPager)。我现在正在膨胀一个看起来与 Miniplayer 完全一样的虚拟视图,但不是在 onCreateView 中返回它,而是我在 PopupWindow 的构造函数中使用的视图。然后我打电话
mPopupWindow.showAtLocation(contentView, Gravity.BOTTOM, 0, 0);
我想我应该从真正的 miniplayer 视图中传递 TouchEvents,以便将虚拟视图垂直平移到 viewpager 的边界之外,但我有点卡住了,因为真实的视图显示在下面,我不确定在哪里从这里走。
我是否走在正确的道路上(实施明智)?