首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    炫酷~RecyclerView视差装饰器-ParallaxDecoration

    老规矩,先上图,看看是不是你想要的,美团效果: 最终效果: 来一个图形分析 接下来我要写一个简单示例,先分析一下布局,见下图,最外层是NestedScrollView,之后嵌套一个LinearLayout...头部,中间TabLayout选择器,底部一个ViewPager ViewPager高度需要动态控制,看自己的需求了,如果是美团那种效果,就是ViewPager高度 = NestedScrollView高度...那么就需要先重写NestedScrollView控件,用于控制最大的滑动距离,当达到最大滑动距离,再分发给RecyclerView滑动!...* @param dx 表示 View 本次 x 方向的滚动的总距离 * @param dy 表示 View 本次 y 方向的滚动的总距离 * @...--相当于分析图中绿色标记处ViewPager,代码中动态设置高度--> viewpager.widget.ViewPager

    1.1K00

    嵌套滑动通用解决方案--NestedScrollingParent2

    京东首页 这是京东的首页,忽略顶部和顶部,大致理解视图结构就是:最外层为多布局的RecyclerView,最后一个item是tabLayout+ViewPager,ViewPager的每个fragment...京东首页 可见,在向上滑动页面时,当tabLayout滑动到顶部时,外层RecyclerView停止滑动,此时tabLayout即为吸顶状态,接着会 滑动ViewPager中的内层RecyclerView...NestedScrollView嵌套RecyclerView 参考这篇实名反对《阿里巴巴Android开发手册》中NestedScrollView嵌套RecyclerView的用法。...,大于想要滚动的距离,内层自行处理 }else { //内层已滚动的距离,小于想要滚动的距离,那么内层消费一部分,到顶后,剩的外层滑动..., viewPager内的fragment中 也有RecyclerView,处理外层、内层 RecyclerView的嵌套滑动问题,类似淘宝、京东首页。

    4.7K31

    ViewPager2实现内部Item的动态滚动

    当然RecyclerView也可以,用一个仿抖音的那种 LayoutManager 就行,但是为什么不呢,因为涉及到了视频播放,手动去处理一些生命周期和懒加载,总是非常麻烦,而且ViewPager2本身就是基于...但是首先你要考虑的东西就很多,如果视频详情页超出一屏呢,也就是内部用了 RecyclerView或者NestedScrollView 呢,是不是还需要处理一下滑动冲突,当然这也不是很困难,内部拦截法就可以搞定...好家伙,不按套路出牌啊,我故作深沉,实则稳如老狗( ViewPager2 不是有一个 fakeDragBy() 方法设置偏移量吗),这个有点麻烦,我得考虑考虑。...接下来不却知道自己要开启了啪啪打脸时刻,满心欢喜,太easy啊,ViewPager2 真香! 打脸时刻 于是熟练的开分支,切分支,写demo,调用方法,走起! 先看一下这个方法。...解决方法 既然如此,ViewPager2是基于RecyclerView,那么我去调用RecyclerView滚动不就行吗,思路如下: ViewPager2-> RecyclerView, RecyclerView

    2.2K20

    viewpager循环滚动和自动轮播的问题

    ViewPager是一个常用的android组件,不过通常我们使用ViewPager的时候不能实现左右无限循环滑动,在滑到边界的时候会看到一个不能翻页的动画,可能影响用户体验。...此外,某些区域性的ViewPager(例如展示广告或者公告之类的ViewPager),可能需要自动轮播的效果,即用户在不用滑动的情况下就能够看到其他页面的信息。...页号求模取出View列表中要显示的项              position %= viewlist.size();   if (position<0){                    ...destroyItem() 方法:由于我们在instantiateItem()方法中已经处理了remove的逻辑,因此这里并不需要处理。...实际上,实验表明这里如果加上了remove的调用,则会出现ViewPager的内容为空的情况。

    4.2K60

    CoordinatorLayout使用(四):和Toolbar的简单使用

    snap: 代码中枚举SCROLL_FLAG_SNAP 在滚动结束后,如果view只是部分可见,它将滑动到最近的边界。...任意向下的滚动都会让view(Toolbar)变为minHeight的高度可见 反之,不设置,也就是false,enterAlways的效果会全部显示 exitUntilCollapsed相关(scroll...设置exitUntilCollapsed也就是为true的时候,任意向上的滚动都会让view(Toolbar)变为minHeight的高度可见,而不会全部消失 反之,不设置,也就是false,会全部消失...---- 中场小节 CoordinatorLayout中, 如果NestedScrollView要和Toolbar互动的话(CollapsingToolbarLayout等之后在了解,这里不涉及)..." 再给Fragment中添加一点TextView 在Activity中,绑定对应的TabLayout和ViewPager tabLayout = (TabLayout) findViewById(R.id.tablayout

    2K30

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

    那么Android5.0也同时给出了相应的解决方案,即推出MaterialDesign库,通过该库中的AppBarLayout控件,对Toolbar加以包装,从而实现顶部工具栏的动态变化效果。...,还要通知头部控件(通常是Toolbar),告诉头部控件你要怎么滚,是爱咋咋滚,还是满大街滚; 具体到实现上,要在工程中做以下修改: 1、添加几个库的支持,包括appcompat-v7库(Toolbar...NestedScrollView 虽说通过AppBarLayout可实现Toolbar的滚动效果,但并非所有可滚动的控件都会触发Toolbar滚动,事实上只有Android5.0之后新增的少数滚动控件才具备该特技...下面是AppBarLayout结合NestedScrollView实现的工具栏向上滚动效果截图: ?...3、大家都知道ViewPager是左右滚动的翻页视图,用户通过手势把页面横向拉动一段距离后松开,系统会判断接下来是自动左滚还是自动右滚,总之最后用户看到的是一个完整的页面,而不是拉到一半的页面。

    3.3K40

    NestedScrolling机制之CoordinatorLayout.Behavior实战

    在上一讲中我们讲了NestedScrolling机制,其实android很多有些常用的控件都是支持NestedScrolling机制的,如RecyclerView,NestedScrollView等,...是target或是target的parent * target 处理滑动事件的view * axes 垂直滚动2 横向滚动1 * type 滑动类型touch 0手指按下 1手指松开 */ public...view处于滚动状态,但是并不是由target消耗的滚动时候触发,这个是水平滚动的实时距离 * dyUnconsumed view处于滚动状态,但是并不是由target消耗的滚动时候触发,这个是竖直滚动的实时距离...coordinatorLayout 同上 * child 同上 * target 同上 * velocityX 水平加速度 * velocityY 竖直加速度 * consumed 同上 false不拦截...GoodsListView child, @NonNull View target, float velocityX, float velocityY, boolean consumed); 是不是和我们上一讲中的

    1.2K10

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

    向上滑动的时候,Toolbar 先滑动,然后 NestedScrollView 中的内容再滑动。 向下滑动的时候,NestedScrollView 中的内容先滑动,然后 Toolbar 再一起滑动。...大家可以参考下 ViewPager 是怎么滑动的,只不过 ViewPager 是水平方向上的,AppBarLayout 中的内容是垂直方向上的行为。...也就是说 snap 代表一种吸附的行为,当一个滑动事件结束后,Toolbar 会向最接近它的边缘自行滚动。那什么是最近的概念呢?比如向上滑动时,如果滑过了一半它就向上滚动,否则滚动回原来的地方。...现在,我尝试用自己的理解来解释这个东西,真的是自己的理解,不代表我完全正确的,但是我觉得这种理解有助于初学者来理解 Content scrim。 我们先来思考一个词语:交互。...就是滚动的速度不同,造成的视觉差异效果。也就是说 CollapsingToolbarLayout 中有的 view 滚动的快一些,其它的滚动的慢一些。

    4.1K30

    recycleview的优化_recyclerview原理

    RecyclerView (以及其他基于adapter的view,比如ListView、GridView等)使用了缓存机制重用子 view(即系统只将屏幕可见范围之内的元素保存在内存中,在滚动的时候不断的重用这些内存中已经存在的...(false);//RecyclerView默认是setNestedScrollingEnabled(true),是支持嵌套滚动的,也就是说当它嵌套在NestedScrollView中时,默认会随着NestedScrollView...滚动而滚动,放弃了自己的滚动。...RecyclerView会在构造方法中调用setFocusableInTouchMode(true), 抢占焦点后一定会定位到第一行的位置,可以在NestedScrollView中添加属性:android...本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

    5.8K21

    Android中Fragment+ViewPager的配合使用

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

    1.5K100

    uniapp 中 ScrollView 组件上拉分页不滚动到最顶部

    介绍: 在UniApp中,如果想要实现类似微信聊天页面的上拉加载更多历史聊天记录功能,每次上拉到顶部时,界面不会自动滚动到最顶部,而是停留在当前位置。...步骤:在scroll-view组件中绑定scroll-into-view属性,并设置为一个变量scrollViewIntoView。...根据上拉加载的数据,将其添加到list数组中,并将变量scrollViewIntoView设置为加载前最后一个元素的id。...this.list.push(item); } this.scrollViewIntoView = "view" + this.msgList[start - 1].id; // 设置当前滚动到的元素...(加载前最后一个元素) }}通过以上步骤,您可以实现在UniApp中使用ScrollView组件进行上拉加载更多历史记录时,界面不会滚动到最顶部,而是停留在当前位置。

    2.5K31

    聊聊Android嵌套滑动

    在嵌套滑动控件的场景中,可以在Android的事件分发机制本身做一些处理,外部拦截或者内部消化触摸事件。...(例如 NestedScrollView 、 RecyclerView ) 中,开始嵌套滑动都依赖NestedScrollingChildHelper 这个对象。...return mIsBeingDragged; 如果滑动的时候是移动手势的话,事件会被拦截下来交给自己去处理。如果是其他手势,滑动的时候拦截,不滑动的时候不拦截。...如果滑动的时候不拦截的话,手势事件会交给子view去处理,如果子view是可以滚动的,这时候就会有冲突,所有滚动的时候事件要拦截下来交给自己处理。...接着分发嵌套滚动事件,中间还有一些针对 Scroll mode的处理,我们这里不关心: UP 的时候会根据距离判断是否需要消费快速滑动,如果不则会进行分发: 所以我们需要关注的就是: startNestedScroll

    2K10

    滚动 Docker 中的 Nginx 日志

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

    2.1K20

    Flutter 首页必用组件NestedScrollView

    今天介绍的组件是NestedScrollView,大部分的App首页都会用到这个组件。 NestedScrollView 可以在其内部嵌套其他滚动视图的组件,其滚动位置是固有链接的。...在普通的ScrollView中, 如果有一个Sliver组件容纳了一个TabBarView,它沿相反的方向滚动(例如,允许用户在标签所代表的页面之间水平滑动,而列表则垂直滚动),则该TabBarView...例如,浏览内部列表以滚动到顶部不会导致外部ScrollView中的SliverAppBar折叠以展开。...滚动隐藏AppBar 比如实现如下场景,当列表滚动时,隐藏AppBar,用法如下: NestedScrollView( headerSliverBuilder: (BuildContext context...controller为滚动控制器,可以监听滚到的位置,设置滚动的位置等,用法如下: _scrollController = ScrollController(); //监听滚动位置 _scrollController.addListener

    5.3K10

    Flutter入门指北(Part 8)之Sliver 组件及NestedScrollView

    SliverPersistentHeader Flutter 中,为我们提供了这么一个作为头部的部件 SliverPersistentHeader,这个部件可以根据滚动的距离缩小高度,有点类似 SliverAppBar...以上部分代码查看 sliver_main.dart 文件 NestedScrollView 讲到这了,不得不提下 Scrollable 中比较重要的一员 NestedScrollView,先看下官方的解释...糟透了的翻译 X 1:一个内部能够嵌套其他滚动部件,并使其滚动位置联结到一起的滚动部件 /// The most common use case for this widget is a scrollable...X 3:用于构建 NestScrollView 的头部部件,innerBoxIsScrolled 主要用来控制 SliverAppBar 的 forceElevated 属性,当内部内容滚动时,显示...接着请注意代码中的那段 assert 中的文字 糟透了的翻译 X 5:sliverOverlapAbsorberHandleFor 传入的参数 context 中必须包含 NestedScrollView

    3K30
    领券