问题标签 [android-appbarlayout]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - 自更新到支持库 23 以来,collapseActionView 中的 IllegalStateException
我有一个AppBarLayout
带有 aToolbar
和 a的布局,ViewPager
带有 3 个选项卡。每个选项卡都通过Toolbar
'sActionMode
使用SearchView
. 当我们更新我们的应用程序以使用新的Support library 23.0.1
(针对 API 23,并使用构建工具 23.0.1)退出搜索模式时,应用程序会在以下堆栈中崩溃:
恢复Support library 22.0.1
一切正常。我看到我的onMenuItemActionCollapse
回调被调用,并返回 true,但它似乎在我的代码之外崩溃。
android-recyclerview - 如何防止 AppBarLayout 扩展?
我有一个看起来有点像这样的布局:
在 AppBarLayout 中有一个带有单元格的水平 RecyclerView,然后在主 RecyclerView 下方包含不同类型的单元格并垂直滚动。这在滚动时效果很好 - AppBarLayout 完美地出现和消失。
在两个 RecyclerView 中搜索和限制结果时出现问题。当任一 RecyclerView 为空时,它应该消失 - 因此,当顶部水平 RecyclerView 为空时,整个 AppBarLayout 应该消失。
为了实现这一点,我打电话给AppBarLayout.setExpanded(false)
- 这是有效的。但是,在调用之后,如果我向上或向下滚动垂直 RecyclerView,AppBarLayout 会展开并显示自身。我还尝试将 LayoutParams scrollFlags 重置为 0,这应该禁用滚动。AppBarLayout 不再滚动 - 但它仍在扩展。
如何完全防止 AppBarLayout 扩展?我需要关闭它,并强制它保持关闭状态,直到我重置它,无论用户做什么。
android - API<21 上的 ListView 嵌套滚动
标题很清楚。我有这个布局:
工具栏和 tablayout 都在内部AppBarLayout
,所以我可以使用滚动标志来隐藏工具栏滚动到顶部。问题是这只适用于支持嵌套滚动的视图。大多数标签——我的意思是,大部分页面——都是support.v4.NestedScrollView
s,所以没关系;其他人是(并且需要)ListView
s。
从 Lollipop 开始,我可以简单地添加android:nestedScrollingEnabled="true"
到列表视图中,并且工具栏在滚动时正确隐藏。
但是,在 API<21 上,没有这样的属性,工具栏也不会隐藏。更重要的是,列表中的最后一项是隐藏的,因为存在一些测量错误CoordinatorLayout
:listview 的行为就好像它拥有工具栏当前占用的空间。
解决方案:
切换到
RecyclerView
,它确实支持嵌套滚动:我不能,因为我需要使用仅适用于适配器视图并且我无法替换的外部库适配器(即ParseQueryAdapter
);扩展
ListView
和实现嵌套滚动:看起来很复杂;扩展
ListView
并实施一些解决方法,例如测量内容以避免最后一项问题或(和)使工具栏隐藏的自定义行为:似乎也很复杂;使用一些布局技巧:没有找到。
有什么帮助吗?
例如,我(拼命地)尝试过:
但是这种方式ListView
并没有布置为match_parent
. 我得到一个小高度的小视图,页面的其余部分是空的。
android - 处理 AppBarLayout 的滚动不起作用(工具栏不折叠)
我正在尝试折叠 toolBar + Image 并将其粘贴到最小高度。它不工作,所以发布我的代码。任何帮助将不胜感激。
使用以下链接作为参考
http://blog.grafixartist.com/toolbar-animation-with-android-design-support-library/
下面是我的xml代码
课程代码是
android - ListView 未在 NestedScrollView 内扩展
我CoordinatorLayout
在我的活动页面中使用。在ListView
应用程序栏下方。但是当我使用ListView
而不是NestedScrollView
. 如果我把ListView
里面NestedScrollView
,ListView
是不是扩大
android - CoordinatorLayout (with AppBarLayout) inside ViewPager inside CoordinatorLayout
所以我有我的根活动布局(使用 CoordinatorLayout、ToolbarLayout、Viewpager),如下所示:
在我的 ViewPager 片段之一中,我有以下布局
我遇到的问题是,当 RecyclerView 向上滚动时,只有它的兄弟 AppBarLayout 的大小会发生变化,而它的祖先父 AppBarLayout (持有工具栏)永远不会调整 - 我们真的希望它成为第一个视图调整。
有人对如何解决这个问题有任何建议吗?
android - Android 折叠工具栏没有像 Google Play 应用程序那样使用惯性
我正在使用 Android 设计支持库来创建一个带有可折叠工具栏的活动,该工具栏具有很好的淡入淡出效果,就像 Google Play 或 Whatsapp 的联系人配置文件一样。我会将活动布局放在最后,但请记住,这只是默认的可折叠活动布局,我将 ImageView 添加到 AppBarLayout 以创建工具栏 <-> 图像淡入淡出效果。
我对这个实现的问题表现为我将描述的两个症状:
活动内容很长,当我想通过快速滑动快速向上滚动时,滚动将在展开工具栏之前停止。我希望它继续,当我在我的 NestedScrollView 底部并且我快速滑动手指以一直到我的活动顶部我希望这个滚动去扩展工具栏时,这就是方式Google Play 应用程序的行为或 Whatsapp 的配置文件行为。
同样,当工具栏展开时,滚动没有惯性,快速向下滑动会滚动一点点,这又不是 Google Play 或 Whatsapp 配置文件的行为方式。一旦 Toolbar 折叠起来,滚动的行为就像它在 ScrollViews、ListViews 等中一样。快速滑动将允许您进入底部或顶部(除非有很多内容)。
设计支持库是否支持我描述的行为?
活动.xml:
content_scrolling.xml: