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

PullToRefreshScrollView 嵌套RecyclerView实现特卖列表倒计时抢购

实现的抢购首页功能,相信在很多的app中都有实现的,不过我们知道特别是这种嵌套,滑动计算高度的时候是各种冲突的,PullToRefreshScrollView 嵌套RecyclerView会有焦点的获取问题...首先这里倒计时写在子线程就不说了,还有就是用RecycleView而不用ListView这也不多说了,这方面比较的文章比较多,但是我在版本5.0的时候遇到一夜问题,就是RecyclerView高度计算不出来...= null) { RecyclerView.LayoutParams p = (RecyclerView.LayoutParams) view.getLayoutParams...(new GridLayoutManager(getActivity(), 2)); 要解决PullToRefreshScrollViewRecyclerView我尝试了,通过OnIntercetor...事件拦截,不起作用,最后只需要在RecycleView设置下面一段话就好了。

1.2K50
您找到你想要的搜索结果了吗?
是的
没有找到

RecyclerView 居然还能实现吸底效果

测量RecyclerView内容高度实现 这种方式很直观,我们先获取RecyclerView控件的高度h1,设置完数据后再获取RecyclerView的内容高度h2,然后将h1与h2进行比较: ①如果h1...②让Adapter支持两种布局,普通ItemFooter布局 ③在给RecyclerView设置完数据后,获取RecyclerView的控件高度h1RecyclerView的内容高度h2 ④如果h1...③获取h1h2的值:为了避免recyclerView获取到的高度0,我们需要在给RecyclerView设置完数据之后,通过View#post(Runnable)方法获取。...这个类中的实现其实是简化了Gavin-ZYX/StickyDecoration项目中的实现。...github项目地址:https://github.com/tinyvampirepudge/Android_Base_Demo RecyclerView相关的demo打开方式如下: ?

3K20

教你使用超简单的视频播放器JiaoZiVideoPlayer

在之前的项目中用到了视频播放的功能,在网上看了看使用了大家用的比较多的一个开源项目JiaoZiVideo让我迅速的实现了视频播放的相关功能。...ijkplayer 完美检测列表滑动 可实现全屏播放,小窗播放 能在ListView、ViewPagerListView、ViewPagerFragment等多重嵌套模式下全屏工作 可以在加载、暂停...、播放等各种状态中正常进入全屏退出全屏 多种视频适配屏幕的方式,可铺满全屏,可以全屏剪裁 重力感应自动进入全屏 全屏后手势修改进度音量 Home键退出界面暂停播放,返回界面继续播放 JiaoZiVideo...RecyclerView 划出列表开启小窗 recyclerView.addOnChildAttachStateChangeListener(new RecyclerView.OnChildAttachStateChangeListener...划出屏幕释放JZ,同时也是不开启列表划出显示小窗 recyclerView.addOnChildAttachStateChangeListener(new RecyclerView.OnChildAttachStateChangeListener

5K20

Android开发笔记(一百二十二)循环器视图RecyclerView

notifyItemChanged : 通知适配器在指定位置的项目发生了变化。 notifyDataSetChanged : 通知适配器整个列表的数据发生了变化。...总的来说,RecyclerView.Adapter与我们之前经常遇到的BaseAdapter在处理流程上是基本一致的,当然它们之间也有不小的差异,下面是RecyclerView.Adapter其他适配器的主要区别...: 1、自带ViewHolder及其重用功能,无需开发者手工重用ViewHolder; 2、未自带列表项的点击长按功能,需要开发者自己实现点击长按事件的监听; 3、增加区分不同列表项的视图类型...Math.random()); if (params.height < 60) { params.height = 60; } //很奇怪,setLayoutParams对瀑布流网格不起作用...PinterestLikeAdapterView等等;现在Android在support-v7库中推出了StaggeredGridLayoutManager,这让我们对瀑布流效果的开发大大简化了,只要在适配器代码中动态设置每个网格的高度

2.4K20

RecyclerView使用详解(代替ListView)

;今天我们就实现最简单的五点功能: 功能点:为RecyclerView添加点击事件,添加头布局脚布局,添加下拉刷新和上拉加载更多; 好了首先说下如何用RecyclerView代替横向的listview...(layoutManager); //设置recyclerView标记,如果确定内容的高度都一致,设置为true,提高内容渲染效率;(如果高度不确定系统要自己适配高度recyclerView.setHasFixedSize...代替纵向listview: 分割线上面一样,在item中添加view实现分割线,点击事件同样是添加自定义监听; RecyclerView默认是没办法添加头布局脚布局的,上面横向的没有使用这一块,...但是纵向的在真实项目中就极有可能使用到这个功能点了,在网上看了好多大神们写的添加头布局脚布局的方法,感觉真的是大神,写的真的很复杂,所以都没有使用,最后在git上找到一个自定义的RecyclerView...直接继承系统的RecyclerView,除了添加了两个方法,其他的用法不变,感觉挺实用的,在此就不复制这个类了,源码中都有(MyRecyclerView),使用的话直接复制到项目中即可; 添加头布局脚布局的方法也极为简单

1.3K20

项目需求讨论- 自定义滚轮(第二波新实现)

O(∩_∩)O~) 项目需求讨论-自定义滚轮 ? 用ScrollView 循环有什么问题呢。...因为比如我们建立一千组一万组数据,我不需要考虑要重新滚回中间,问题12就解决了。问题3因为RecyclerView 的特性,也被解决了。是一个很理想的循环滚动的滚轮。...---- 原理分析 滚轮的高度Item的高度 比如我们确定一个页面显示5项,item的布局高度为100dp,那滚轮高度就设定为500dp....3.比如只划一部分,如何让它自动滚到相应的Item(重点) 方法还是一样,通过当前获取到的滚到的Y值,然后除以每项的Item的高度,就能知道当前顶部是处于第几项,然后求余数就知道了当前顶部那项有多少是显示的...我来大致解释下:如上图所示,我们现在一个Item是100的高度,那我们现在滑到了第二个的20的位置,那是不是一共滑动了120的距离。

1.1K20

Android魔术系列:一步步实现滑动折叠列表

BottomViewHolderItemViewHolder继承同一个类,代码如下: abstract class ViewHolder extends RecyclerView.ViewHolder...具体如下 * 将第一个item上面(存在的)的第二个Item下面的都变为收缩的高度,内容缩放到最小,透明度为0。...这个偏移是关键参数,通过这个偏移计算出第一个item收缩的高度第二个item展开的高度,并且计算第二个item遮罩的透明度和文字内容的大小。...除了RecyclerView这个版本,实际上这个效果还有一个ScrollView的版本。其实在ListViewRecyclerView上实现这个效果都多少有些问题。...大家有兴趣可以去github上的项目中,切到tag v1.0就可以看到了ScrollView版本的代码了。

90310

RecyclerView 自定义ItemDecoration从入门到实现吸顶效果

,粘贴到项目直接用。...要实现吸顶的效果需要完成这些步骤: 首先需要画一条高度足够容下文字图片的分割线....因为是吸顶效果,所以分割线传统的分割线一样应该是在每个item的上方而不是下方 当前屏幕可见的第一个item的Bottom<=item_height(分割线的高度) 说明可见的第一个item的底部已经超出了分割线的高度...先来实现12的要求,主要代码部分如下: ? ? 注意看陈奕迅这个item的分割线是在item的上面的,并且分割线的高度已经足够容下我们稍后要绘制的内容了....接着来实现实现: 当前屏幕可见的第一个item的Bottom<=item_height(分割线的高度)让第一条分割线随着RecyclerView向上滑动直到滑出屏幕,代码如下: ?

1.2K10

揭开RecyclerView庐山真面目

另外ListView的可扩展性相对来说比较弱,以前要实现每个列表项的高度不同的界面,或者要完成瀑布流效果,需要非常复杂的自定义处理。...使用RecyclerView开发的项目结构大致如下图所示: ?...从上图可以看到,要使用RecyclerView,需要先了解清楚LayoutManagerAdapter元素,分别如下: LayoutManager:用来确定每一个item如何进行排列摆放,何时展示隐藏...目前RecyclerView库提供了如下三种子Manager: LinearLayoutManager:展示了水平或者垂直的滚动列表,相当于之前学习的ListView,但是没有页眉页尾。...三、RecyclerView扩展 接下来继续使用上面的例子实现水平列表、网格瀑布流,你就会发现其灵活性到底有多高。

1.8K80

04.视频播放器通用架构实践

比如需要支持播放器UI高度定制,而不是该lib库中UI代码 针对视频播放,音频播放,播放回放,以及视频直播的功能。...使用简单,代码拓展性强,封装性好,主要是业务彻底解耦,暴露接口监听给开发者处理业务具体逻辑 该播放器整体架构:播放器内核(自由切换) + 视频播放器 + 边播边缓存 + 高度定制播放器UI视图层 项目地址...5.4 视频播放器重力感应监听 区别视频几种不同的播放模式 正常播放时,设置检查系统是否开启自动旋转,打开监听;全屏模式播放视频的时候,强制监听设备方向;在小窗口模式播放视频的时候,取消重力感应监听 注意一点...关于是否开启自动旋转的重力感应监听,可以给外部开发者暴露一个方法设置的开关。...完善的代码注释,以及项目的类结构图,方便快速了解视频播放器的整体轮廓 丰富的demo案例 提供绝大多数场景的视频播放器功能,完全可以套用demo中的案例,甚至你还可以在案例基础上大幅度优化 13.参考案例博客记录

2.3K00

【Android从零单排系列二十五】《Android视图控件——RecyclerView

RecyclerView使用方法 在项目的build.gradle文件中添加RecyclerView的依赖: implementation 'androidx.recyclerview:recyclerview...android:layout_widthandroid:layout_height:设置RecyclerView的宽度高度。...此外,RecyclerView还提供了很多其他方法回调接口,用于处理子项的交互、动画效果、拖放侧滑等功能。我们可以根据具体需求来选择使用这些方法。...动画效果:RecyclerView内置了过渡动画默认的布局动画效果,也可以自定义动画效果,为列表的数据变化用户交互增加视觉吸引力。...使用RecyclerView可以更好地管理展示大量数据,同时也能够根据需要进行高度定制。它成为Android应用开发中常用的UI组件,广泛应用于各种应用场景,如社交媒体、新闻阅读、电子商务等。

29510

RecyclerView.Adapter notifyDataSetChanged 不起作用

最近项目里要添加个聊天功能,我们使用的是环信SDK。 如果应用启动,不在聊天界面,接收到消息后就弹出通知栏消息通知用户,点击进入聊天界面。...找了很久,最后在StackOverFlow上找到了答案,原文在这里 原来在我后台接收到数据调用更新界面回调方法时,其实当前Activity不在同一个线程,我忙傻了把这点给忘了。...break; } super.handleMessage(msg); } }; 总结 更新数据时在主线程填数据,然后再调用RecyclerView.Adapter...在子线程更新 UI 有时候在 请求接口回调、ListView 或者 RecyclerView 的 Adapter 里需要进行一些 UI 更新,这时不起作用的原因大多是因为我们在 子线程中更新UI。

2.8K00

Material Design 在 Android 中的应用

整体结构: 什么是 Material Design Material Desing的特点 从四个特点结合Android的应用剖析 在我的公司「口袋」项目中的应用 当然内容需要看官方的文档其他资料加上总结才能完成...4、风格背景 文字采用圆角+阴影进行包裹,至于高度圆角效果因为时间紧迫,没有按照严格规范进行设置,如果对这方面有要求可以参考官网详细的规范要求。 ?...我想了下,就按照我做这个小项目,需要的控件顺序说起吧,这样也相当于大家跟我一起做出一个具有Material Design风格的APP了。 1、主题 一个项目的开始,你得先确定这个项目的主题颜色是什么?...项目中列表肯定是少不了的,那么这就不得不提RecyclerView了,强大之处不用多说,感兴趣的话看一下我之前写的博客,对其使用有个简单的介绍:简单粗暴RecyclerView 那如果想实现侧滑删除长按拖拽的功能怎么办呢...onItemDismiss(viewHolder.adapterPosition) } } RecyclerView建立连接 val mItemTouchHelper

1.2K20

RecyclerView的那点事儿

控件依赖包 Android Studio开发工具,在本项目的build.gradle文件中添加 compile 'com.android.support:recyclerview-v7:23.1.1...// 获取当前Item中的显示的数据 SampleModel sampleModel = datas.get(position); //设置控件的随机高度...,仍可实现) 实现步骤如下: 在adapter类中,定义接口,接口中定义两个方法分别对应clicklongClick,定义完接口,添加接口设置Adapter接口的方法: /** *...添加项目点击事件了, // 设置监事件 sampleRecyclerAdapter.setOnRecyclerViewItemClickListener(new SampleRecyclerAdapter.OnRecyclerViewItemClickListener...(String)v.getTag()); } } 意上面调用接口的onItemClick()中的v.getTag()方法,这需要在onBindViewHolder()方法中设置item

2K30

Unity基础教程-物体运动(八)——攀爬(Sticking to Walls)

所以我们要做的是相对于墙重力做运动,而忽略相机的方向。 在调整速度中,首先检查我们是否在爬升。如果是,在投影到接触平面之前,不要使用默认的右轴正向输入轴。...我们通过“Climb”按钮进行控制,你可以通过以下步骤进行配置:进入Input项目设置,通过其上下文菜单复制Jump条目,将其重命名为Climb,然后将其分配给其他按钮。...通常,重力应该将球体拉下,以便球体缓慢滑下斜坡,但是当静止不动时,自动施加力以抵消重力是有意义的。...2.8 爬出裂缝 不幸的是,当球体卡在缝隙中时,我们的攀爬方法不起作用,这是因为陡峭的接触点会转换为地面接触点。...在这种情况下,我们最终会停留在有效的水平面上,这与我们的攀爬控制装置(主要是垂直表面)不起作用。为了摆脱这种情况,我们将跟踪我们检测到的上一次攀爬法线。 ?

2.6K10
领券