问题标签 [coordinator-layout]
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 - 自定义 CoordinatorLayout.Behavior 和 RecyclerView 滚动问题
我有一个CoordinatorLayout
有两个孩子,一个View
充当标题和一个RecyclerView
:
我将填充动态设置RecyclerView
为标题的大小并将其设置clipToPadding
为false
,因此RecyclerView
显示在标题下方,当用户向上滚动时,RecyclerView
显示在标题视图上方。
我做了一个自定义CoordinatorLayout.Behavior
,以便在用户向上滚动时实现淡出视图,list
并在标题必须再次可见时淡入AlphaBehavior
:
但我面临一个问题:如果用户滚动速度非常快,则行为事件无法正确调用。该scrollY
成员与总滚动关系不佳,并且该totalScrollY
成员(通过计算来自 的滚动获得RecyclerView
)不正确。即使我试图firstCompletelyVisibleItem
在事件中找到 ,但是当达到列表的开头onStopNestedScroll
时它会返回位置 2 或 3 。recyclerView
android - android.support.v4.widget.SwipeRefreshLayout 在 android.support.design.widget.AppBarLayout 内部时不会滑动
目标是有一个折叠toolbar
和一个SwipeRefreshLayout
有项目的。为了能够使用支持库,我使用CoordinatorLayout
which hosts an AppBarLayout
. 那AppBarLayout
有一个toolbar
并且SwipeRefreshLayout
有一个网格视图。使用app:layout_scrollFlags="scroll|enterAlways"
折叠和打开没有问题toolbar
,但是SwipeRefreshLayout
不会一直向下滑动,即它被卡住了。取出SwipeRefreshLayout
时AppBarLayout
,它滚动正常,但这次工具栏没有折叠。下面是布局xml。任何帮助表示赞赏。
PS:我使用此链接折叠工具栏实现:
这是我的布局:
android - 带有 TabLayout 的无限 ViewPager
我已经在原位https://github.com/JoachimR/AnyDayViewPager实现了一个无限 ViewPager 。但是,我宁愿将 CoordinatorLayout 与 TabLayout 一起使用,而不是使用 PagerTabStrip。但是当使用 viewpager 设置 TabLayout 时,(我假设是因为有“无限数量的 ViewPager Fragments”)应用程序卡住了。
我该如何解决这个问题?
这是代码(我没有更改的其他文件可以在JoachimR/AnyDayViewPager找到,例如FragmentContent.java、CachingFragmentStatePagerAdapter.java、TimeUtils.java等)
MainActivity.java
activity_main.xml
android - 使用 Google Maps API 缩放时禁用滚动
当我尝试平移谷歌地图时,CoordinatorLayout 向下滚动,当然我想平移地图。如果我在地图之外然后尝试平移,那么它可以完美地工作,但这不会是一个很好的最终用户体验。
OnTouchListener 解决了部分问题……但前提是我水平平移。当我的手指向上或向下移动时,它就会停止平移地图。我怎样才能解决这个问题?
XML
android - ConstraintLayout vs Coordinator 布局?
要实现什么:ConstraintLayout
或CoordinatorLayout
在 android 中进行适当的材料设计?
android - CoordinatorLayout 上的白色非活动底部空间
我有 CoordinatorLayout 的 xml 文件
我有另一个xml文件,我把它放在协调器布局上
我发现了空白空间的错误,它覆盖了我的窗口的一部分并且不可点击。这是下面的屏幕截图: 不可点击的非活动底部空间 我注意到当我从 ViewPager 中删除 app:layout_behavior="@string/appbar_scrolling_view_behavior" 时,错误消失了。但是我的标签名称也消失了。我认为它会创建一些不可见的工具栏或类似的东西。
android - 展开底页时如何折叠现有内容?
我有一个包含 aCoordinatorLayout
和ScrollView
a的布局BottomSheet
。当我将 的状态设置BottomSheet
为扩展BottomSheet
重叠的内容时ScrollView
。我希望 的高度ScrollView
减少 的高度BottomSheet
。我怎样才能做到这一点?
我现在打算使用 a BottomSheetDialog
。
谢谢!
android - 来自 CoordinatorLayout.Behavior 的 onDependentViewChanged 一直被调用
我实现CoordinatorLayout.Behavior
并覆盖onDependentViewChanged
了函数,但它让我担心它每隔几毫秒就会触发一次,即使滚动视图保持不动。
如果我从这里返回 false,那不会改变onDependentViewChanged
我找不到这方面的任何信息,但是这件事向我的日志发送垃圾邮件看起来不像是正确的行为。会耗尽电池。
我的简化布局如下所示:
android - Android CoordinatorLayout、Listview 和固定工具栏
我有一个布局,顶部有一个工具栏,下面是 2 个工具栏大小的栏,下面是一个列表视图。当有人在列表视图上滚动时,工具栏下的 2 个栏应该向上滚动并在工具栏下消失。
我尝试将 app:layout_scrollFlags="scroll|enterAlways" 仅放在那些栏而不是工具栏上,但它们不会响应滚动事件。如果我也将相同的滚动标志放在工具栏上,它们都会响应,但我希望工具栏始终显示。如果我将两个栏移到工具栏上方,它可以工作,只有两个栏响应,但现在工具栏位于栏下方,这不是我想要的显示。
android - 在嵌套视图/片段上滚动时不调用 AppBarLayout.Behaviour
我有一个带有 AppBarLayout 的折叠工具栏的 CoordinatorLayout。我的布局文件层次结构看起来像(省略了 layout_width 等参数):
AppBarLayout 中的扩展区域是片段,我动态添加:
总的来说,它工作正常,但是如果用户在展开/折叠中间停止滚动,我需要自动展开/折叠 AppBarLayout(因此当用户从屏幕上移开手指时,AppBarLayout 应该展开或折叠,不允许中间状态)。对于这个任务,我决定使用自定义行为:
我的问题来了:当 AppBarLayout 折叠并且用户开始展开它时,它工作得很好。但在相反的情况下,当 AppBarLayout 展开时 - 如果用户在 NestedScrollView 上开始滚动手势 - 我的 Behavior 类被调用并且很好。但是,如果用户在 AppBarLayout 内容上启动滚动手势 - 不会调用 Behavior,但 AppBarLayout 开始对滚动手势做出反应。在这种情况下,如果用户在过渡过程中停止滚动手势,我无法检测到它。有人知道这种行为的原因吗?是否可以调用 Behavior 类?如果不是,如何确定用户在嵌套视图上执行滚动?