gpt4 book ai didi

android - 滚动 ListView 时推出/拉入 ActionBar

转载 作者:行者123 更新时间:2023-11-29 21:00:42 27 4
gpt4 key购买 nike

最新的 Google Newsstand 应用程序具有 ActionBarViewPager 选项卡栏,当向下滚动下方的列表时,它们会缓慢地显示屏幕顶部。 重要的是,它以与滚动列表相同的速度缓和。当列表向上滚动时,ActionBar 缓缓回到屏幕上,再次以相同的速度滚动列表

我不是指 ActionBar hide()show() 方法,而是我想知道如何以滚动下方列表的相同速率隐藏和显示 ActionBar。

这是如何实现的?所有寻找记录解决方案的尝试都被证明是不成功的,因此我们将不胜感激。

最佳答案

简答

创建一个 Fragment 子类作为 ActionBar 的替代品。使用 OnScrollListener 在滚动事件后更新 fragment View 的 translationY

长答案

在深入了解 ActionBar 源代码后,似乎没有用于访问 ActionBar 容器 View 的公共(public)方法。但是有意愿的地方,there's a way .

您可以使用以下方法获取对操作栏 View 的引用:

int resId = getResources().getIdentifier("action_bar_container", "id", "android");
View actionBarContainer = findViewById(resId);

免责声明:action_bar_container 是私有(private) ID,因此受 Google 的影响。使用风险自负。

获得操作栏的 View 后,您可以根据需要为其设置动画。

我一起砍a semi-functional example如果你有兴趣。

希望这对您有所帮助!

关于android - 滚动 ListView 时推出/拉入 ActionBar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26195635/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com