android中recyclerview怎么让某个item不滑动
推荐回答
如果LayoutManager用的是LinearLayoutManager,强烈推荐下面的方法获取滑动距离:publicintgetScollYDistance{LinearLayoutManagerlayoutManager=LinearLayoutManagerthis.getLayoutManager;intposition=layoutManager.findFirstVisibleItemPosition;ViewfirstVisiableChildView=layoutManager.findViewByPositionposition;intitemHeight=firstVisiableChildView.getHeight;returnposition*itemHeight-firstVisiableChildView.getTop;}http://blog.csdn.net/u010746364/article/details/51242973。
齐晓宇2019-12-21 19:56:43
提示您:回答为网友贡献,仅供参考。
其他回答
-
recyclerview可以向上滑动问题有点不明确,recyclerview是可以上拉下滑的,跟listview一样的1、如果是要问滑动到固定位置:RecyclerView提供的用于控制移动的方法有2个-scrollToPositionint这个方法的作用是显示指定项,就是把你想置顶的项显示出来,但是在屏幕的什么位置是不管的,只要那一项现在看得到了,那它就罢工了!-scrollByintx,inty这个方法是自己去控制移动的距离,单位应该是像素。2、监听滚动有两种方式可以监听滚动事件:1.setOnScrollListenerOnScrollListenerlistener2.addOnScrollListenerOnScrollListenerlistener其中setOnScrollListener由于可能出现空指针的风险,已经过时。建议用addOnScrollListener。
童裳峰2019-12-21 19:12:22
-
1puteVerticalScrollOffset;然而compute方法计算出的并不是滑动的精确距离,stackOverflow上有答案解释其为item的平均高度*可见item数目,不是我们需要的精确距离。3.还有人说可以尝试getChildAt0viewplaincopypublicintgetScollYDistance{LinearLayoutManagerlayoutManager=LinearLayoutManagerthis.getLayoutManager;intposition=layoutManager.findFirstVisibleItemPosition;ViewfirstVisiableChildView=layoutManager.findViewByPositionposition;intitemHeight=firstVisiableChildView.getHeight;returnposition*itemHeight-firstVisiableChildView.getTop;。
龚安龙2019-12-21 18:55:01
-
1、有两种方法:按照以下原理:滑动其实只是不停的重绘图像,造成滑动的效果。滑动其实是处理手的触屏事件,在自己的View里有onTouch事件,里面会MotionEvent对象,里面保存当前手的位置坐标,根据这个坐标计算手滑动的距离,一般是在收到ACTION_DOWN时保存按下的位置,然后ACTION_MOVE会不停的上报,计算得出滑动距离。2、RecyclerView简介:RecyclerView是v7的一个新控件。在v7.21+包中,是一个用来展示大量数据的组件,或者说,就是ListView的改善版本。RecyclerView本质上是以适配器为核心。缓存viewHolder,view包含在viewHolder内。自推出以来广受Android程序爱好者的推崇,然而不得不说这个控件存在着一个比较严重的问题,就是滑动的时候会有不可容忍的卡顿现象出现。3、RecyclerView卡顿现象解决方法:将耗时的操作放到recyclerview.setAdapteradapter之前运行,运行完后再将需要的参数传入Adapter里,此处重写一个adapter类继承Adapter就可以了。解决后运行,滑动恢复了流畅。官方电话官方网站向TA提问。
黄皓炜2019-12-21 18:38:30
-
有一个人和你遇到同样的问题,参考如下内容:xml布局文件中RecyclerView和Item的高度都设定的是wrap_content,那说好的自适应于item高度呢?查看Android文档,没发现有关RecyclerView高度相关说明,看来只能自己动手丰衣足食了。根据Android-RecylerView初识里提到的,RecyclerView并不负责Item的显示工作,而Adapter负责的是数据仓库和Item的视图,所以最终把目标锁定到RecyclerView.LayoutManager上。于是尝试继承LinearLayoutManager,发现果然有onMeasure方法:viewplaincopypublicvoidonMeasureRecyclerrecycler,Statestate,intwidthSpec,intheightSpec在onMeasure中可以获得RecyclerView.Recycler。Recycler负责管理Item视图的重复利用,所以我们可以通过Recycler获取一个Item视图的实例,然后像复写其他ViewGroup一样,使用measureChild获取子视图的高度后使用setMeasuredDimension设置RecyclerView同样的高度即可。
黄瞻云2019-12-21 18:21:22