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

Android-水平和垂直方向都可滑动RecycleView

最近有点忙,项目进度跟比较紧。最近需求那边让我们写一个左右和上下都可滑动列表,用来展示多个Title值。这里我把需求简化了一下。老规矩,先看图。...分为上下两部分 ① TitleLayout 包括左边"名称"(固定不可滑动),右边"Title"(多个可滑动) ② Title数据 使用是RecyclerView 这里只要处理水平方向手势滑动即可...; //手指按下时位置 private float mStartX = 0; //滑动时和按下时差值 private int mMoveOffsetX = 0;...private int[] mRightTitleWidthList = null; //展示数据时使用RecycleView private RecyclerView mRecyclerView...; //RecycleViewAdapter private Object mAdapter; //需要滑动View集合 private ArrayList<View

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

RecycleView三问—腾讯真题

和listview区别 Recycleview布局效果更多,增加了纵向,表格,瀑布流等效果 Recycleview去掉了一些api,比如setEmptyview,onItemClickListener等等...Recycleview自带了一些布局变化动画效果,也可以通过自定义ItemAnimator类实现自定义动画效果 Recycleview缓存机制更全面,增加两级缓存,还支持自定义缓存逻辑 Recycleview...,包含数据和position信息,复用时必须是相同位置ViewHolder才能复用,应用场景在那些需要来回滑动列表中,当往回滑动时,能直接复用ViewHolder数据,不需要重新bindView。...bindViewHolder方法是在UI线程进行,此方法不能耗时操作,不然将会影响滑动流畅性。比如进行日期格式化。...对于新增或删除时候,可以使用diffutil进行局部刷新,少用全局刷新 对于itemVIew进行布局优化,比如少嵌套等。

1.2K40

Android开发之基于RecycleView实现头部悬浮控件

RecyclerView是一种类似于ListView一个滑动列表,但是RecyclerView和ListView相比,RecyclerView比ListView更好,RecyclerView支持横向滑动...,RecyclerView没有点击事件,需要自己加入,还可以做出各种炫酷效果动画,更符合高内聚低耦合, 前言 前几天看到一个RecycleView中筛选框滑动可以悬浮在头部效果类似商机盒子中商机模块...本来想法很常规 通过Recycview装饰器来实现(刚开始是否定掉感觉太难) 通过Recycleview滑动监听,判断当前可见item是否是我需要处理,然后通过显示隐藏来做简单逻辑处理(但是做时候效果不尽人意...,同时Recycleview是有弹性滑动,那段距离我监听不到,遂卒。)...GitHub: https://github.com/Qiaoshi96/StickyRecycleView.git 布局 <com.example.stickylib.StickyRecyclerView

73120

Android中RecycleView与ViewPager冲突解决方法及原理

但,横向滑动ViewPager时,稍微偏移就会失去焦点。 2.解决方案 我们知道事件拦截顺序,父ViewGroup先接收到拦截,再传递给子ViewGroup 或子View。...根据事件拦截原理,ViewPager和RecycleView相互冲突,RecycleView相当于父ViewGroup,ViewPager相当于子View,ViewPager和RecycleView相互冲突...mHeaderView.findViewById(R.id.viewpager); mPager.setNestedpParent((ViewGroup) mPager.getParent()); (3)在布局文件中...卡顿问题 ViewPager里面添加了三个Fragment,Fragment里面添加了RecycleView,发现ViewPager左右滑动切换非常不流畅,存在滑动冲突,使用外部拦截进行处理 so easy...~~~ /** * Created by magic on 2017/6/12 0012.外部拦截处理ViewPager嵌套RecycleView左右滑动切换Fragment卡顿问题 */ public

1.3K10

Android使用RecycleView实现拖拽交换item位置

本文实例为大家分享了RecycleView实现拖拽交换item位置具体代码,供大家参考,具体内容如下 老规矩,先来一张效果图: ?...相比起ListView而言,RecycleView实现拖拽交换位置效果要简单很多,因为通过SDK中ItemTouchHelper工具类可以轻松实现这种效果,并且一套代码支持所有布局方式;而ListView...ItemTouchHelper.Callback实现类,我这里称之为SimpleItemTouchHelperCallback后,还需要将数据变化以及View状态通知到RecycleViewAdapter...中,为了达到解耦目的,通常可以通过定义接口来实现,在SimpleItemTouchHelperCallback构造方法中传入该解耦接口引用,并让RecycleViewAdapter实现该解耦接口...new MyAdapter(this, mData); //设置默认布局方式 mRecyclerView.setLayoutManager(new LinearLayoutManager(this

2.7K32

自定义无限循环LayoutManager

遇到此种问题,通常解决方案是: 在adapter返回Integer.MAX_VALUE并让RecyclerView滑动到某个足够大位置。...measure 首先介绍测量方法,与自定义ViewGroup类似,测量通常是固定逻辑不需要自己实现,开发者无需复写测量方法,只需要在布局之前调用测量函数来获取将要布局「View宽度」即可。...child, @NonNull Recycler recycler) { removeView(child); recycler.recycleView(child); } //将指定位置...当滑后子View被左移动时,RecyclerView右侧会出现可见未填充区域,这时需要在RecyclerView右侧添加并布局好新子View,直到没有可见未填充区域为止。 ?...在RecyclerView中,需要在滑动、填充可见区域同时,对不可见区域子View进行回收,这样才能体现出RecyclerView优势。 回收方向与填充方向恰好相反。

2.3K20

我懵了,面试大厂被熟悉App启动流程和RecycleView连环三问坑了...

和listview区别 Recycleview布局效果更多,增加了纵向,表格,瀑布流等效果 Recycleview去掉了一些api,比如setEmptyview,onItemClickListener等等...Recycleview自带了一些布局变化动画效果,也可以通过自定义ItemAnimator类实现自定义动画效果 Recycleview缓存机制更全面,增加两级缓存,还支持自定义缓存逻辑 Recycleview...,包含数据和position信息,复用时必须是相同位置ViewHolder才能复用,应用场景在那些需要来回滑动列表中,当往回滑动时,能直接复用ViewHolder数据,不需要重新bindView。...bindViewHolder方法是在UI线程进行,此方法不能耗时操作,不然将会影响滑动流畅性。比如进行日期格式化。...对于新增或删除时候,可以使用diffutil进行局部刷新,少用全局刷新 对于itemVIew进行布局优化,比如少嵌套等。

3.1K00

仿电商商品分类思路实现

,左边列表item对应type并没有显示在界面的话,我们还需要左边列表进行一个滚动到对应item位置上,知道思路了,然后我们开始敲代码 布局代码实现 1、 主布局是两个列表,这两个列表我通过LineaLayout...我就不贴了,就是一个TextView和ImageView事 3、右边列表layout我重写了RecycleViewonMeasure方法,使其能扩展到最大,如果直接使用RecycleView的话,...会导致界面显示不完全,而且还可以滑动,这是不允许。...到对应位置 滑动到底部处理: 因为我只判断右边第一个item出现来设置左边position,如果右边列表type过于拥挤的话,滑动到底部时候,左边列表并不会选中到最后一个item,这时候,我们需要判断...在移动时候,左边RecycleView也是需要进行移动 * 左边recycleview有可能会不可见,这时候,我们必须去判断一下,左边最后一个item是不是

1.5K20

RecyclerView滑实现

主要是onCreateViewHolder方法,这个方法返回是一条item布局ui,对于我们这个效果在不改动优惠正常view布局情况下,我们可以这么做呢???? 咦!...我们要布局menuview,在Contentview右侧。...如图: 控制滑动 在android中根据滑动来控制view有好多种,这里我们用layout方法 主要就是在recycleview滑动时找到其中一条位置position在ontouch方法中合适时机将事件传到该...什么时候触发这个方法呢 ,下文会说recycleview处理事件。...menu区域 达到了滑动临界值 这写情况都要交要我们处理,交给ontouch方法 然后在onTouchEven方法里处理down: move拦截时候: 达到滑动临界值就可以拦截了return

1.8K90

安卓开发——Recycleview

实验二: Recycleview基本使用 实验目标和实验内容: 1、掌握UI设计中layout布局(约束布局)与基本控件(button、text、imageview等); 2、掌握复杂控件与adapter...使用 在使用RecyclerView时候,必须指定一个适配器Adapter和一个布局管理器LayoutManager。...而设置布局管理器RecyclerView则是来控制Item布局方式,横向、竖向以及瀑布流方式 例如:你想控制横向或者纵向滑动列表效果可以通过LinearLayoutManager这个类来进行控制(与...recycleView布局 现在需要将 RecyclerView 添加到上次微信fragment对应布局文件中。...在这里,补充一个知识点,关于RecyclerView调用顺序总是按照: 获取大小——>绑定布局——>加载ViewHolder类——>绑定数据 这样一个规律,通过这样规律,我们就能知道是按照怎样顺序来调用这些重载函数

2.1K11

RecyclerView滑动时卡顿怎么办?

大家好,我近期刚完成了一个商城类软件,首页就是用recyclerview布局实现,近期优化让我不得不去深入了解一下recycleview这个控件。...我遇到第一个问题就是滑动时候卡顿,无法忍受,于是就在网上找了很多文章,看了很多代码,在这里就给大家总结一下这两天我觉得对这个问题处理有效解决方式。...我们对于滚动过程中,卡顿判断可以打开手机开发者选项中:GPU呈现模式分析->在屏幕上显示为条形图。就可以非常直观看到滑动过程中有没有卡顿了。...3.优化图片加载 我在别的文章中看到并且用在了自己软件中,图片加载优化是最有效办法,而且很多主流app中新浪微博,qq,今日头条等也在使用,因为列表在滚动过程中,如果布局很复杂,样式也很多,那就需要考虑滚动时候不做复杂布局及图片加载...通过recycleview onScrollStateChanged方法来对这个boolean值进行改变,从而控制加载图片。

3.1K20

ItemTouchHelper 实现交互动画

01.拖拽需要实现功能 需要实现拖拽功能如下所示 长按item后拖动,与其他item交换位置 按住item右面的图标后拖动,与其他item交换位置 滑item变透明并缩小,超出屏幕后,其他item补上...了,所以可以根据布局管理器不同做了响应区分。...Item时候需要我们告诉系统滑动或者拖拽方向 * 动作标识分:dragFlags和swipeFlags * dragFlags:列表滚动方向动作标识(如竖直列表就是上和下,水平列表就是和右...,欢迎一遍看博客一遍实践,一步步从简单实现功能强大库 01.RecyclerView RecycleView结构,RecyclerView简单用法介绍 02.Adapter RecyclerView.Adapter...11.RecyclerView上拉加载 添加recyclerView滑动事件,上拉加载分页数据,设置上拉加载底部footer布局,显示和隐藏footer布局 12.RecyclerView缓存原理

3.8K20

Material Design —卡片(Cards)

它们也非常适合展示尺寸或支持操作变化元素,例如带有可变长度标题照片。 ? 卡片集合是共面的,或同一平面上的卡片布局。 ?...卡片集合内的卡片可以包含一个唯一数据组,例如带有动作清单,带有动作笔记以及带有照片笔记。 不要让卡片上带有过多无用信息或操作。 内容层次 使用卡内层次结构来引导用户注意最重要信息。...放置在图像背景上文本应该保留文本易读性。 ? :不同布局的卡片    右:排版方式能突出重点内容 ?...:不同内容与布局的卡片集合    右:不同布局与不同内容层次的卡片集合 ---- 行为 卡片具有恒定宽度和可变高度。最大高度限于平台上可用空间高度,但可以暂时扩大(例如,显示评论)。...例如,可滑动的卡片不应该包含可滑动图像,以便在滑动时只发生一次动作。 如果用户对集合内的卡进行分类很重要,则可以使用拾取并移动手势(pick-up-and-move gesture)。

4.3K100

Android编程实现列表侧滑删除方法详解

分享给大家供大家参考,具体如下: 前言:今天突然想起来了列表滑动删除功能,一些下拉刷新框架也会带这个侧滑删除功能,比如一些listviewrecycleview刷新框架都有这个功能,我今天写这个博客目的是如何不依赖这些框架也是实现侧滑删除...case MotionEvent.ACTION_MOVE: hsaMove = true; int deltaX = x - mLastX; int deltaY = y - mLastY; //纵向滑动大于横向滑动时是不处罚侧滑效果...newScrollX, 0); } break; case MotionEvent.ACTION_UP: hsaMove = false; default: int finalScrollX = 0; //滑到足够自动滑动位置时可以自动滑出删除布局...: 在上面的自定义控件里面,通过注释大家可以清晰看到是将原来条目的布局包裹在该自定义容器里面,然后拦截手指事件做侧滑事件处理,使得删除布局显示和隐藏,就实现了侧滑删除。...比如:隐藏布局可以任意设置,所以不一定是删除功能,只要是需要侧滑实现都是可以靠这个控件给快速简单实现出来。

1.1K10

Android自定义日历滑动控件

本文实例为大家分享了Android自定义日历滑动控件使用方法,供大家参考,具体内容如下 ? 最近公司项目需要做这个需求,自己才疏学浅,总算能写出个大概来,遂在这里记录下来。...分析 先来分析一下: 首先,我们需求是可以左右点击查看跳转到下一个月,中间日历控件可以水平滚动选择日期,所以我们中间日历控件用一个RecycleView来做,左右两位为ImageVeiw。...LRCalendarView 总体流程: 编写LRCalendarView布局R.layout.calendar_view 新建类LRCalendarView继承LinearLayout LRCalendarView...添加布局R.layout.calendar_view 数据初始化 构建GalleryAdapter 给RecycleView设置GalleryAdapter并且给左右按钮添加点击事件 处理左右日历翻页逻辑...按需要给RecycleView添加item点击事件 1.

1.7K20

setVisibility源码解析

1.问题引入 做项目的时候,AppBarLayout里面嵌套RecycleView。当没有数据时候就提示请求出错图片。...后来经过定位,是在设置Visiblity时候引起,而且获取同一个控件宽高时候发现位置和padding还有点关系,注释掉padding就没有这个问题。...needGlobalAttributesUpdate(false); //申请重新布局 requestLayout(); if...而且往下挪位置正好是padding距离 4.总结 对于那些可滑动控件(ListView,RecycleView,ScrollView)而言,当内部控件设置为GONE和VISIBLE时候,一定要注意重绘问题...扩展:除了重绘问题需要注意,同时重绘还可能导致焦点抢占问题也需要注意,可能会出现抢占焦点导致整个RecycleView内容往上滑动

1.1K40
领券