问题:ScrollView嵌套RecyclerView时,RecyclerView的item显示不全

出现问题不要慌,耐心解决才是王道,哈哈。首先说下出现这个问题的情景吧,首先声明这个问题在23版本以上出现的,23版本是android 6.0版本,是的当我们targetSdkVersion=23的时候(也就是我们兼容到23版本)是没有问题的,一但兼容到23版本以上就会出现这个问题,这个坑也是第一次踩到,发表个博客警戒下自己,同时也希望可以帮助你顺利的填上这个坑。

首先这个问题的解决方案有3种(有效的,无效的咱们略过)

第一种:既然这个问题是23版本以上的问题(不包括23版本),那么我们就只兼容到23版本就OK喽,就是修改app的build.gradle的targetSdkVersion = 23 和 compileSdkVersion = 23,这个问题就可以顺利解决,但是现在市场上7.0可以说已经普遍了,8.0手机也已经出了,只兼容到6.0版本显然不是我们想要的结果,那么接下来还有2种解决方案,搬个板凳坐下来认真听下面两种吧。

第二种:在你的RecyclerView上再嵌套一层RelativeLayout然后添加属性 android:descendantFocusability="blocksDescendants",既然提到了这个属性就说下它的意思吧,知道的同学再复习一遍呗,巩固巩固更牢靠。

首先该属性android:descendantFocusability的含义是:当一个view获取焦点时,定义ViewGroup和其子控件两者之间的关系。

它一共有3个属性值,它们分别是:

beforeDescendants:viewGroup会优先子类控件而获取焦点

afterDescendants:viewGroup只有当子类控件不需要获取焦点的时候才去获取焦点

blocksDescendants:viewGroup会覆盖子类控件而直接获取焦点

想必了解了这个属性之后,你就会恍然大悟啦。

  1.  
    <RelativeLayout
  2.  
    android:layout_width="match_parent"
  3.  
    android:layout_height="wrap_content"
  4.  
    android:descendantFocusability="blocksDescendants">
  5.  
    <android.support.v7.widget.RecyclerView
  6.  
    android:id="@+id/rv_me_window"
  7.  
    android:layout_width="match_parent"
  8.  
    android:layout_height="match_parent"
  9.  
    android:paddingLeft="16dp"
  10.  
    android:paddingRight="16dp"
  11.  
    android:overScrollMode="never"/>
  12.  
    </RelativeLayout>

第三种:当然这种方式是今天偶然在网上看到的,听说既可以填item显示不全的坑,又可以填嵌套滑动卡顿的坑。是不是很期待?哈哈,终极解决方案总是要在最后闪亮登场滴,不过这种方式本人没有测试过,不知道具体的可靠性,同学们需要自行测试,本人用的是第二种方案。

方案是这样的:首先在xml布局中将你的ScrollView替换成android.support.v4.widget.NestedScrollView,并在java代码中设置recyclerView.setNestedScrollingEnabled(false);

这样就可以完美解决啦。NestedScrollView这个东西是5.0的新控件,如果不了解的同学可以自行百度,网上对它的解释有很多,也有很多例子,当时我用它的时候,好像是跟做toolbar联动的时候用过,不过已经记得不太深刻了,好久没有使用这个了,印象当中使用这个好像还需要手动依赖compile 'com.android.support:design:25.0.1'这个库。

最后送上NestedScrollView的相关文章:

①http://blog.csdn.net/mchenys/article/details/51541306

②https://segmentfault.com/a/1190000002873657

好了,不多说了,写这篇文章主要有两点,一是用于警告自己防止再次入坑,二是希望本篇文章可以帮到你,让你尽快脱坑。

解决ScrollView嵌套RecyclerView出现item显示不全的问题的更多相关文章

  1. 关于ScrollView嵌套RecyclerView出现item显示不全的问题

    最近使用ScrollView时,发现里面嵌套Listview显示不全,试过重写Listview的onMeasure(),并没有起作用.然后将ListView换成RecyclerView后,高度还是显示 ...

  2. 解决ScrollView嵌套RecyclerView的显示及滑动问题

        项目中时常需要实现在ScrollView中嵌入一个或多个RecyclerView.这一做法通常会导致如下几个问题 页面滑动卡顿 ScrollView高度显示不正常 RecyclerView内容 ...

  3. 解决Scrollview 嵌套recyclerview不能显示,高度不正常的问题

    我们先看一个效果,问题说的就是中间的Grid效果在Scrollview 嵌套recyclerview显示问题,在Android Api 24是好的,不过在5,1,1版本(api 22)缺出现了问题 最 ...

  4. Android在开发中的使用技巧之解决ScrollView嵌套RecyclerView出现的系列问题

    根据已上线的app里总结出来的实用小技巧 相信大家都遇到过ScrollView嵌套RecyclerView或者RecyclerView嵌套RecyclerView来使用, 也会遇到一堆奇奇怪怪的问题, ...

  5. Android 解决ScrollView嵌套RecyclerView导致滑动不流畅的问题

    最近做的项目中遇到了ScrollView嵌套RecyclerView,刚写完功能测试,直接卡出翔了,后来通过网上查找资料和 自己的实践,找出了两种方法解决这个问题. 首先来个最简单的方法: recyc ...

  6. ScrollView嵌套GridView,GridView显示不全

    最近开发有个需求是以A-Z的方式区分全国城市(搜索功能),并实现字母索引的功能(有点类似微信,不过比较坑的是用的是GridView, 并且GridView上面还有几个LinearLayout). 详细 ...

  7. android 布局文件 ScrollView 中的 listView item 显示不全解决方案

    import android.content.Context;import android.util.AttributeSet;import android.widget.ListView; /** ...

  8. Android解决RecyclerView中的item显示不全方案

    最近的项目中实现订单确定页面.需要使用ScrollView嵌套RecyclerView,当RecyclerView中的item数量比较多时,就会出现item只显示一部分数据,并没有将用户勾选的商品数量 ...

  9. 一键解决ScrollView嵌套ListView仅仅显示一行的问题

    /** * 解决ScrollView嵌套ListView仅仅显示一行的问题 * * @param listView */ private void setListViewHeightBasedOnCh ...

随机推荐

  1. javah命令的使用

    背景 java开发中如果使用到JNI,则难免需要使用javah来生成C++或C的头文件信息,下面小编就直接说说javah的命令: 第一种:直接cd到当前程序的target/class目录下(maven ...

  2. 6-6 小球下落 uva679

    较为简单的找规律题目 开始认识二叉树  虽然这题和二叉树没有啥关系 #include<bits/stdc++.h> using namespace std; int main() { in ...

  3. 【Java】 剑指offer(57-1) 和为s的两个数字

      本文参考自<剑指offer>一书,代码采用Java语言. 更多:<剑指Offer>Java实现合集   题目 输入一个递增排序的数组和一个数字s,在数组中查找两个数,使得它 ...

  4. 071 HBase的安装部署以及简单使用

    一:下载安装 1.下载安装 2.开启hadoop与zookeeper 3.修改配置文件hbase-env export JAVA_HOME=/opt/modules/jdk1.7.0_67 expor ...

  5. Object类浅析

    Object类的方法有: hashCode(): 返回该对象的哈希码值 hashCode 的常规协定是: 在 Java 应用程序执行期间,在同一对象上多次调用 hashCode 方法时,必须一致地返回 ...

  6. Project_Lemon测评系统安装经验

    历经千辛万苦才在我自己的Linux上装好了Lemon 因为毕竟没有什么使用Linux的经验然后踩了不少坑,同时为了所以就有了这篇文章. 本教程大部分都基于Linux,若有需要Windows下的帮助请看 ...

  7. html 音乐 QQ播放器 外链 代码 播放器 外链 代码

    韩梦飞沙  韩亚飞  313134555@qq.com  yue31313  han_meng_fei_sha QQ播放器 外链 代码 播放器 外链 代码 ======== 歌曲链接 QQ播放器 外链 ...

  8. [POI2011]Śmieci

    [POI2011]Śmieci 题目大意: 一个\(n(n\le10^5)\)个点\(m(m\le10^6)\)条边的无向图,每条边有边权\(0/1\),试找出若干个环,使得每次翻转环上所有边的权值, ...

  9. [NOIp2012提高组]同余方程

    OJ题号: 洛谷1082 思路: 逆元模板. #include<cstdio> #include<cctype> inline int getint() { char ch; ...

  10. data warehouse 1.0 vs 2.0

    data warehouse 1.01. EDW goal, separate data marts reqlity2. batch oriented etl3. IT driven BI - das ...