首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

CoordinatorLayout中滚动Viewpager中的静态视图

CoordinatorLayout是Android Support库中的一个布局容器,用于实现复杂的交互效果和协调子视图之间的行为。它可以用于处理滚动视图和静态视图之间的交互。

滚动ViewPager中的静态视图是指在ViewPager中的页面切换过程中保持固定位置的视图,不随页面滚动而移动的视图。在CoordinatorLayout中实现这样的效果,可以通过以下步骤:

  1. 在布局文件中,将CoordinatorLayout作为根布局,并在其中添加ViewPager和静态视图。
代码语言:txt
复制
<androidx.coordinatorlayout.widget.CoordinatorLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <androidx.viewpager.widget.ViewPager
        android:id="@+id/viewPager"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

    <TextView
        android:id="@+id/staticView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Static View"
        android:gravity="center"
        android:background="#FF0000"
        android:textColor="#FFFFFF" />

</androidx.coordinatorlayout.widget.CoordinatorLayout>
  1. 在代码中,为ViewPager设置Behavior,以便与CoordinatorLayout进行交互。可以使用AppBarLayout.ScrollingViewBehavior作为ViewPager的Behavior,这样ViewPager就会在滚动时与其他滚动视图进行协调。
代码语言:txt
复制
ViewPager viewPager = findViewById(R.id.viewPager);
CoordinatorLayout.LayoutParams layoutParams = (CoordinatorLayout.LayoutParams) viewPager.getLayoutParams();
layoutParams.setBehavior(new AppBarLayout.ScrollingViewBehavior());
  1. 如果需要静态视图保持在顶部或底部,可以使用CoordinatorLayout的属性来设置。
代码语言:txt
复制
<TextView
    android:id="@+id/staticView"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_gravity="top" // 或 "bottom"
    ... />

通过以上步骤,就可以在CoordinatorLayout中实现滚动ViewPager中的静态视图的效果。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

CoordinatorLayout+AppBarLayout实现上滑隐藏ToolBar-Android M新控件

从官方文档我们可以看到: CoordinatorLayout是一个增强型FrameLayout。...- 作为一个为子视图之间相互协调手势效果一个协调布局 - ) 该控件也是Design包下一个控件,然而这个控件可以被称为Design包中最复杂、功能最强大控件:CoordinatorLayout...标记了layout_scrollFlags滚动事件,那么当LinearLayout滚动时便可触发ToolBarlayout_scrollFlags效果 即往上滑动隐藏ToolBar,下滑出现ToolBar...enterAlwaysCollapsed 当你视图已经设置minHeight属性又使用此标志时,你视图只能已最小高度进入,只有当滚动视图到达顶部时才扩大到完整高度 exitUntilCollapsed...,如果设置了ViewPager,那么ViewPagerAdaptergetPageTitle()方法返回就是Tab上标题 ViewPager设置代码: ViewPager mViewPager

2.1K30

CoordinatorLayout使用全解析

AppBarLayout子布局有5种滚动标识(上面代码CollapsingToolbarLayout配置app:layout_scrollFlags属性): scroll:所有想滚动出屏幕view...exitUntilCollapsed:当你定义了一个minHeight,此布局将在滚动到达这个最小高度时候折叠。 snap:当一个滚动事件结束,如果视图是部分可见,那么它将被滚动到收缩或展开。...例如,如果视图只有底部25%显示,它将折叠。相反,如果它底部75%可见,那么它将完全展开。...Design Library大多功能都是借助Behavior大量运用来实现。当然,Behavior无法独立完成工作,必须与实际调用CoordinatorLayout视图相绑定。...ThemeOverlay.AppCompat.Light" /> 然后,我们需要定义AppBarLayout与滚动视图之间联系

2.1K20
  • 使用CoordinatorLayout打造各种炫酷效果

    Google IO/15 大会发布,遵循Material 风格,包含在 support Library,结合AppbarLayout, CollapsingToolbarLayout等 可 产生各种炫酷效果...结合ViewPager ? 结合ViewPager视觉特差 ? ---- AppBarLayout 它是继承与LinearLayout,默认 方向 是Vertical ?...会 跟着 滚动 事件响应, layout_scrollFlags=“snap”时候 在Scroll滑动事件结束以前 ,如果这个View部分可见,那么这个View会停在最接近当前View位置。...最顶部,是因为我们没有设置其layout_scrollFlags,即TabLayout是静态 运行以后,即可看到以下结果 ?...- 对于AppBarLayout,我们主要 讲解了这个属性app:layout_scrollFlags,设置不同 属性我们可以在滚动时候显示不同 效果 - 对于CollapsingToolbarLayout

    5K10

    【Android】这效果,我没法描述

    思路 先说说实现思路吧,上面的效果大致可以分成两个部分: 1、Tab向上滚动到顶部时悬浮 Tab滚动后悬浮在顶部嘛~~ 这效果使用CoordinatorLayout + AppBarLayout就能轻松实现...接着监听AppBarLayout滚动,利用topMargin实现被“顶上去”效果 拆分完毕,接下来就是实现了 实现 Tab悬浮效果 利用CoordinatorLayout、AppBarLayout...Java代码ViewPager添加几个列表Fragment就能看到以下效果(注意:列表不可以是ListView,需要用RecyclerView) ?...这时候只要在MainActivity对AppBarLayout滚动进行监听即可。...Tips 问题:使用CoordinatorLayout时,滚动不流畅问题 解决方案:可以写个Behavior添加到AppBarLayout

    99250

    NestedScrolling机制之CoordinatorLayout.Behavior实战

    在上一讲我们讲了NestedScrolling机制,其实android很多有些常用控件都是支持NestedScrolling机制,如RecyclerView,NestedScrollView等,...是target或是targetparent * target 处理滑动事件view * axes 垂直滚动2 横向滚动1 * type 滑动类型touch 0手指按下 1手指松开 */ public...view处于滚动状态,但是并不是由target消耗滚动时候触发,这个是水平滚动实时距离 * dyUnconsumed view处于滚动状态,但是并不是由target消耗滚动时候触发,这个是竖直滚动实时距离...GoodsListView child, @NonNull View target, float velocityX, float velocityY, boolean consumed); 是不是和我们上一讲...,在代码结合着Scroller,onNestedFling赋一个结束值给Scroller,Scroller会不断产生中间值直到结束为止。

    88910

    Android开发笔记(一百三十五)应用栏布局AppBarLayout

    那么Android5.0也同时给出了相应解决方案,即推出MaterialDesign库,通过该库AppBarLayout控件,对Toolbar加以包装,从而实现顶部工具栏动态变化效果。...> 嵌套滚动视图NestedScrollView 虽说通过AppBarLayout可实现Toolbar滚动效果,但并非所有可滚动控件都会触发Toolbar滚动,事实上只有Android5.0之后新增少数滚动控件才具备该特技...这还得从CoordinatorLayout说起,查看CoordinatorLayout源代码,发现它实现了接口NestedScrollingParent,奥秘就在其中,该接口定义了嵌套滚动父辈行为,...1、AppBarLayout滚动依赖于主体视图滚动,与主体视图相对应,可将AppBarLayout称作头部视图。既然一个页面分为头部和主体两部分,那么就存在谁先滚谁后滚问题了。...3、大家都知道ViewPager是左右滚动翻页视图,用户通过手势把页面横向拉动一段距离后松开,系统会判断接下来是自动左滚还是自动右滚,总之最后用户看到是一个完整页面,而不是拉到一半页面。

    2K40

    自定义 Behavior - 仿新浪微博发现页实现

    open 状态指 Tab+ViewPager 还没有滑动到顶部时候,header 还 没有被完全移除屏幕时候 close 状态指 Tab+ViewPager 滑动到顶部时候,Header 被移除屏幕时候...外部容器处理,被被全部消费掉了),而是整个布局(指 Header + Tab +ViewPager)会向上偏移 。...在上一篇博客 一步步带你读懂 CoordinatorLayout 源码 ,我们有提到在 CoordinatorLayout,我们可以通过 给子 View 自定义 Behavior 来处理事件。...并且只有 boolean startNestedScroll 返回 TRUE 时候,才会调用接下里 Behavior onNestedPreScroll 和 onNestedScroll...在第一个关键点实现上,我们是通过自定义 Behavior 来处理 ViewPager 里面 RecyclerView 移动,那我们要怎样监听整个 Header 滑动了。

    87720

    Android嵌套滑动冲突解决方法

    (1)重写一个viewpager继承系统ViewPager,至于怎么重写我不太记得了 (2)重写RecyclerView继承系统RecyclerView,因为我记得会出现高度原因导致RecyclerView...2.布局嵌套其它可滚动控件情况 就是在第一种情况下把RecyclerView换成其它可滑动控件。...不用CoordinatorLayout还有以下三种解决办法: (1)使用github上面开源那个自定义CoordinatorLayout来解决,叫什么我忘了。...这样做就能解决一个activity多个fragment情况下滑动冲突。 但是有的朋友说不嘛,我就要Viewpager,我就要酷酷滑动动画效果。唉,那你就用最实在第三方法吧。...四.其它使用时问题 并非解决滑动冲突就没有其它问题。 1.NestedScrollView(RecyclerView)重新加载数据时会自动滚动到底部。

    3.2K21

    AndroidFragment+ViewPager配合使用

    官方推荐 ViewPager与Fragment一起使用,可以更加方便管理每个Page生命周期,这里有标准适配器实现用于ViewPager和Fragment,涵盖最常见用例。...FragmentPagerAdapter和FragmentStatePagerAdapter这两个类都有简单代码显示如何构建一个完整用户界面与他们。...num区别标签,其实具体应用可以使用真实fragment对象来作为叶片         mNum = getArguments() !...效果与ViewPager添加View效果是一样!但是它与View区别在于它有自己生命周期,可以随时更改自己状态便于管理。...事实上使用FragmentPagerAdapter 时,Fragment对象会一直存留在内存,所以当有大量显示页时,就不适合用FragmentPagerAdapter了,FragmentPagerAdapter

    1K100

    Android仿微博个人详情页滚动到顶部实例代码

    整个结构上分为两部分,AppBarLayout(里面包含TabLayout),ViewPager,根节点是CoordinatorLayout。...上下滑动会引起AppBarLayout联动,悬浮在顶部,或者是跟着viewPager一起滑动以及视差效果之类。...那么该怎么做呢,一种思路是在onCreate()方法,发post任务,页面渲染结束后,执行post任务,post任务是调用AppBarLayoutAPI方法,让AppBarLayout往上滑。...在CoordinatorLayout这套组件里面体现淋漓尽致。感兴趣可以好好分析下CoordinatorLayout是如何完成事件分发,如何让子view相互联动。...总结 以上所述是小编给大家介绍Android仿微博个人详情页滚动到顶部实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家

    1.2K20

    学习使用Material Design控件(四)Android实现标题栏自动缩放、放大效果

    控件介绍 这次需要用到得新控件比较多,主要有以下几个: CoordinatorLayout 组织它子views之间协作一个Layout,它可以给子View切换提供动画效果。...AppBarLayout 可以让包含在其中控件响应被标记了ScrollingViewBehaviorView滚动事件 CollapsingToolbarLayout 可以控制包含在CollapsingToolbarLayout...其中控件,在响应collapse时是移除屏幕和固定在最上面 TabLayout 结合ViewPager,实现多个TAB切换功能 NestedScrollView 与ScrollView基本相同...,不过包含在NestedScrollView控件移动时才能时AppBarLayout缩放 Layout布局 <?...mViewPager = (ViewPager) findViewById(R.id.viewpager); setupViewPager(mViewPager); //给TabLayout增加

    1.2K31

    Android view滑动悬浮固定效果实现代码示例

    1.背景 在项目开发过程,有时候会碰到这样需求:在滑动过程,在某时要将子view固定在顶部(常见是将界面tab在滑动到顶部时候进行固定)。...2.思路 (CoordinatorLayout+AppBarLayout+CollapsingToolbarLayout)+TabLayout+ViewPager 3.代码实现 a.主布局代码 <?...<include layout=”@layout/content_scrolling” / —— 引用子view布局其实就是一个ViewPager(需要注意是要在布局设置:app:layout_behavior...可以看到图中黑色边框显示内容不一致,因此ToolBar和ImageView排列顺序会对视图显示结果造成影响。...(这样也避免了:在CollapsingToolbarLayout,因为视图折叠覆盖问题,会导致整个ImageView被TabLayout覆盖一部分而显示不完全问题。)

    86710

    静态静态方法

    C#可以包含两种方法:静态方法和非静态方法。   使用了static 修饰符方法为静态方法,反之荝是非静态方法。   ...1.static方法是类一个成園方法,属于整个类,即不用創建任何对象也可以直接调用!   static内部只能出现static变量和其他static方法!...洏且static方法还不能使用this....等关键字..因为它湜属于整个类!   2.静态方法效率上要比实例化高,静态方法缺点是不洎动进垳销毁,洏实例化则可以做销毁。   ...3.静态方法和静态变糧创建后始终使用哃一赽内存,而使用實例方式会创建多个内存.   4.C#哋方法有两种:实例方法,靜态方法.   ...,所以悱靜态成员可以直接访问类静态成员.

    1.5K20

    滚动 Docker Nginx 日志

    Nginx 自己没有处理日志滚动问题,它把这个球踢给了使用者。一般情况下,你可以使用 logrotate 工具来完成这个任务,或者如果你愿意,你可以写各式各样脚本完成同样任务。...本文笔者介绍如何滚动运行在 docker nginx 日志文件(下图来自互联网)。...创建滚动日志脚本 创建 rotatelog.sh 文件,其内容如下: #!...下图是笔者测试过程每 5 分钟滚动一次效果: 为什么不在宿主机中直接 mv 日志文件? 理论上这么做是可以,因为通过绑定挂载数据卷内容从宿主机上看和从容器中看都是一样。...): 结合上面的两个问题,我们可以写出另外一种方式来滚动 docker nginx 日志。

    1.4K20

    细说 AppbarLayout,如何理解可折叠 Toolbar 定制

    CoordinatorLayout 是这个库组织容器,一切基于 support design 扩展出来特性都应该发生在 CoordinatorLayout 及它子 View 体系。 2....当然不是,在 CoordinatorLayout 嵌套滑动本质是一个 NestedScrollingChild 对象。...Toolbar 先滑动,等到视图可见范围高度为 collapsed 指定高度时它会静止,等到 NestedScrollView 内容完全显示在 Toolbar 下方时它再一起滑动,它动作是 3 段式...大家可以参考下 ViewPager 是怎么滑动,只不过 ViewPager 是水平方向上,AppBarLayout 内容是垂直方向上行为。...就是滚动速度不同,造成视觉差异效果。也就是说 CollapsingToolbarLayout 中有的 view 滚动快一些,其它滚动慢一些。

    3K30
    领券