RecyclerView抢焦点自动滚动
最近有个项目,其中有一个新闻详情页面,在新闻详情下面是一个用户评论列表,最底部有一个评论输入框,有点类似于今日头条的新闻详情页面。评论列表是采用RecyclerView开发的,点击底部评论输入框会弹出软键盘。发现有个比较诡异的现象,当软键盘缩回去的时候,评论列表RecyclerView老是会自动滚动到顶部。这样体验会比较差,有可能我本来在看某条评论信息,点击评论输入后又放弃,这个时候我肯定是希望页面停留在原来那个地方的。
如下2张图所示,RecyclerView的header是一个WebView,用来加载新闻网页信息,其他列表项则是显示评论,点击底部评论弹出一个输入框以及软键盘,当软键盘取消的时候,RecyclerView自动滚动到了header顶部:
通过查看源码以及参考网上别人的分析,原来这就是所谓的RecyclerView抢夺焦点现象。当输入框及软键盘显示出来的时候,整个界面的焦点是在这个输入框EditText上的,但是当取消软键盘的时候,界面焦点发生了变化,RecyclerView抢夺了焦点,进而导致界面自动滚动了。
通过试验,采用以下方法解决了我的问题:
在RecyclerView的父布局上增加“ android:focusable="true" android:focusableInTouchMode="true"”这2个配置。
<RelativeLayout android:layout_width="match_parent" android:layout_height="match_parent" android:focusable="true" android:focusableInTouchMode="true" > <android.support.v7.widget.RecyclerView android:id="@+id/recyclerview" android:layout_width="match_parent" android:layout_height="wrap_content" > </android.support.v7.widget.RecyclerView> </RelativeLayout>
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
2-VII-RecyclerView事件
[1].本文接上文:RecyclerView基本使用 [2].RecyclerView把很多事都交给了我们,就连item的点击事件都没有 [3].在adapter中加载布局的时候,可以为item添加事件 [4].没有点击效果,还要自己添加点击的选择器 [5].RecyclerView增删条目以及条目运动效果 一、点击事件 方式1.修改:FirstRvAdapter#onCreateViewHolder public FirstViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { //加载布局文件 View itemView = LayoutInflater.from(mCtx).inflate(R.layout.item_rv, null); final FirstViewHolder holder = new FirstViewHolder(itemView); //点击监听 itemView.setOnClickListener(new View.OnClickListener() { @Override p...
- 下一篇
react native 百度统计 ios端集成
react native 百度统计Android端的集成可参考:https://www.jianshu.com/p/cc354c6a81d5 希望能够让同学们少走些弯路。 百度统计的集成还是蛮简单的,主要分下面一些步骤: 步骤 sdk的集成 交互类 sdk的配置以及初始化 RN 端调用 1. sdk 的集成 官网下载地址:https://mtj.baidu.com/web/sdk/index 我这里选择的是手动埋点的方式。 官网的 技术文档介绍:https://mtj.baidu.com/static/userguide/book/ios/sdk/manual.html 官网介绍的已经很清楚,比友盟的集成清晰很多,大家按照文档操作就可以,很顺利就能完成集成。 2.交互类 git上有个开源的交互类 大家可进行参考修改https://github.com/BaiduMobileAnalysis/baidumobstat-react-native/blob/master/ios/RCTBaiduMobStat/RCTBaiduMobStat/RCTBaiduMobStat.m // // R...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- 设置Eclipse缩进为4个空格,增强代码规范
- CentOS8安装Docker,最新的服务器搭配容器使用
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS8编译安装MySQL8.0.19
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- SpringBoot2整合Redis,开启缓存,提高访问速度
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Hadoop3单机部署,实现最简伪集群
- CentOS7,CentOS8安装Elasticsearch6.8.6