TTS的问题亲爱的 我还在这里里问合适吗

原文连接:http://zhanglu0574./blog/static//
一个界面有多个RecyclerView以及其他一些内容,这时要上下滚动就会使用外面嵌套一个ScrollView,虽然我没有遇到像ScrollView嵌套ListView时那样只显示部分,剩余不显示,可能是因为我内容少吧,所以没有遇到这个,但是在滑动的时候如果是在RecyclerView上滑动,这时会出现只滑动动该RecyclerView的内容上就会停止,而如果是在其他内容上滑动时就可以很顺畅的滑下去,因此就会感觉到卡顿的样子。
解决:禁止RecyclerView的滑动。
最简单方便的就是直接
linearLayoutManager = new LinearLayoutManager(context) {
public boolean canScrollVertically() {
return false;
另外就是重写LayoutManager,以Grid模式来说:
public class ScrollGridLayoutManager extends GridLayoutManager {
private boolean isScrollEnabled = true;
public ScrollGridLayoutManager(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
super(context, attrs, defStyleAttr, defStyleRes);
public ScrollGridLayoutManager(Context context, int spanCount) {
super(context, spanCount);
public ScrollGridLayoutManager(Context context, int spanCount, int orientation, boolean reverseLayout) {
super(context, spanCount, orientation, reverseLayout);
public void setScrollEnabled(boolean flag) {
this.isScrollEnabled = flag;
public boolean canScrollVertically() {
//Similarly you can customize "canScrollHorizontally()" for managing horizontal scroll
return isScrollEnabled && super.canScrollVertically();
阅读(...) 评论()Android 利用RecyclerView仿淘宝订单页面实现,解决RecyclerView嵌套RecyclerView滑动卡顿 不上图,就是浪费感情
问题: 最近在项目中碰到一个问题,类似于淘宝订单页面,由于每个订单项中可能会包含多个具体的项目,要想实现这种效果,一般来说需要在RecyclerView中嵌套RecyclerView,这样做会导致,如果订单项中的具体项目过多,超过一屏,展示效果会有卡顿现象,原因就是由于两个RecyclerView的存在,使得滑动的view滑出当前屏幕的释放存在冲突思路: 参照 http://blog.csdn.net/Ideaqjjl/article/details/
Ideaqjjl 分析的很详细,我是从他的分析中得到的思路,对于Copy党来说,最大的痛苦莫过于没有源码,于是整合了一下Ideaqjjl的代码,得到了解决思路,将每一行都看作一个Item,相当于用一个RecyclerView解决了用嵌套才能得到的结果,效果真心不错,在此灰常感谢Ideaqjjl提供的思路及代码解决方式: 根据RecyclerView的分组设置,将每一行都作为一个Item,就相当于在一个RecyclerView中添加item,这样就可以很好的解决问题
public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
MyViewHolder holder =
new MyViewHolder(list.get(viewType).getView(mContext, parent, mIflater));
* 每一个位置的item都作为单独一项来设置
* viewType 设置为position
* @param position
public int getItemViewType(int position) {
}结语 奉上git地址,有什么问题直接评论即可,欢迎指正批评,共同进步! https://git.oschina.net/feiyangwei/RecyclerViewDemo.git
" href="/db/mysql/371.shtml" target="_blank">&MySQL学习笔记&-&&MySQL基
" href="/db/mysql/370.shtml" target="_blank">&MySQL学习笔记2&-&&MySQL基
最新教程周点击榜
微信扫一扫RecyclerView是v7包的一个新控件,自推出以来广受Android程序爱好者的推崇,然而不得不说这个控件存在着一个比较严重的问题,就是滑动的时候会有不可容忍的卡顿现象出现。自发现这个问题后,我搜了许多关于RecyclerView的文章,但极少数提到这个问题,也并没有提到这个问题产生的原因以及解决方法。后来,我到StackOverflow里找了找,虽然提及这个问题的帖子不多,但还是找到了问题的原因:因为ViewHolder这个类里面的onCreateViewHolder方法和onBindViewHolder方法对时间非常敏感,需要在sub-millisecond times访问完,一切的读IO操作和network操作,还有类似的decode bitmap操作都比较耗时。所以不适宜在这两个方法里面执行这些操作。
一个解决方法是,可以将这些耗时的操作放到recyclerview.setAdapter(adapter)之前运行,运行完后再将需要的参数传入Adapter里,此处重写一个adapter类继承Adapter就可以了。解决后运行,滑动恢复了流畅。。
" href="/db/mysql/371.shtml" target="_blank">&MySQL学习笔记&-&&MySQL基
" href="/db/mysql/370.shtml" target="_blank">&MySQL学习笔记2&-&&MySQL基
最新教程周点击榜
微信扫一扫

我要回帖

更多关于 亲爱的我还在这里70章 的文章

 

随机推荐