底部有demo 地址***************************

需要提前知道一些只是

RecyclerView.SCROLL_STATE_IDLE 是RecyclerView 滑动停止状态
findFirstVisibleItemPosition 可见界面第一个item 的position
smoothScrollToPosition(0) 滑动到顶部

下面看下代码

public class RecyActivity extends AppCompatActivity{private RecyclerView recyclerView;RecyclerViewAdapter adapter;List<String> list = new ArrayList<>();private TextView back_txt;@Overrideprotected void onCreate(@Nullable Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.recy_activity_layout);back_txt = findViewById(R.id.back_txt);recyclerView = findViewById(R.id.recy);for (int i=0;i<30;i++){list.add("");}recyclerView.setLayoutManager(new LinearLayoutManager(this,LinearLayoutManager.VERTICAL,false));adapter = new RecyclerViewAdapter(this,R.layout.recy_item_layout,list);recyclerView.setAdapter(adapter);recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {@Overridepublic void onScrollStateChanged(@NonNull final RecyclerView recyclerView, int newState) {super.onScrollStateChanged(recyclerView, newState);//获得recyclerView的线性布局管理器LinearLayoutManager manager = (LinearLayoutManager) recyclerView.getLayoutManager();int firstVisibleItemPosition = manager.findFirstVisibleItemPosition();Log.i("------first", String.valueOf(firstVisibleItemPosition));//判断不滑动的情况if (newState ==RecyclerView.SCROLL_STATE_IDLE){// 判断是否滚动超过一屏if (firstVisibleItemPosition ==0){  //没有超过一屏幕//这里隐藏是为了滑动之后显示了,在手动滑动到首页了,就隐藏back_txt.setVisibility(View.GONE);}else{back_txt.setVisibility(View.VISIBLE);back_txt.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {recyclerView.smoothScrollToPosition(0);
//                                recyclerView.scrollToPosition(0);back_txt.setVisibility(View.GONE);}});}}}});}
}

demo 参考地址

RecyclerView 滑动显示返回按钮,点击返回到顶部相关推荐

  1. android—ListView与RecyclerView滑动显示和隐藏浮动按钮

    效果 自定义悬浮按钮 package cn.tsou.floatingactionbuttondemo.view;import android.content.Context; import andr ...

  2. android 按钮点击返回顶部,微信浏览器点击系统返回,安卓返回会重载页面回到页面顶部,iOS则返回则会保留之前浏览位置的解决方法...

    后续补我框好串端题近还架比作和和近还架比作和和充: 页面css设置了height: 100%,来避免使用fixed定位弹窗引起的部分机型兼容问题,因此会在返回的时候回到页面顶部,补充解决办法: 在弹窗 ...

  3. android重写返回按钮点击事件,Android Fragment监听返回键

    场景:在项目中做联系人界面时,需要按名字和按部门显示联系人,此处使用2个fragment切换显示,按部门显示需要体现部门层级关系,需要实现点击返回上级部门.因为Fragment并不能像在Actvity ...

  4. ios开发返回按钮消失_iOS开发之自定义导航栏返回按钮右滑返回手势失效的解决...

    我相信针对每一个iOS开发者来说~除了根视图控制器外~所有的界面通过导航栏push过去的界面都是可以通过右滑来返回上一个界面~其实~在很多应用和APP中~用户已经习惯了这个功能~然而~作为开发者的我们 ...

  5. 微信浏览器 返回按钮二次返回

    在做微信开发的时候,当通过微信的推送消息(页面1)打开网页后(进入页面2),此时,再次打击链接打开网页(页面3).当点击安卓手机的返回按钮时,可以正常回退到"页面2",但是当点击微 ...

  6. 第一次点击手机的返回按钮,就返回桌面,不退出程序(详细版)

    注:小生是前端,在 使用Android Studio 离线打包app使用中配置的 一.上代码图 二.上代码 public boolean onKeyDown(int keyCode, KeyEvent ...

  7. 控制微信小程序web view的返回按钮

    需求:点击web-view页面的左上角返回按钮时,显示弹窗,点击取消或确认后才能返回.(实际上点击返回按钮会直接返回上一页) 解决方法:由于webview使用的是微信浏览器打开的,我们可以使用js的H ...

  8. Android标题栏添加返回按钮

    1.xml文件布局: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmln ...

  9. 小程序跳转H5页面没有返回按钮解决方案

    公司做了一个小程序,使用webview搭建:页面全部开发完毕后,领导说这个我们得嵌入某某H5活动页.一想,这不很简单.直接把h5页面地址给我不就好了吗.然而问题来了,发现下图的问题了吗???缺少返回按 ...

最新文章

  1. Csharp: FreeTextbox 编辑器控件运行时错误: 'FTB_ResizeGalleryArea' 未定义
  2. python安装与开发环境搭建实验总结_python实验一:python环境配置
  3. Codeforces Round #663 (Div. 2)
  4. js给标签添加属性和值_jquery节点属性
  5. 设计趋势|几何元素增加Banner版面率
  6. 学习JavaScript原型应用
  7. xcode UIView常用方法属性动画
  8. SpringMVC+uploadify3.2.1版实现附件上传功能(直接可以使用)
  9. GD32F407调试SD卡FATFS文件系统
  10. vue问题解决 extract:echarts: sill extract echarts@^4.2.0-rc.2 extracted to
  11. 计算机实习生听课记录,舞蹈课实习听课记录
  12. 防火墙---翻译地址(NAT)
  13. VB代码窗口鼠标滚轮的使用
  14. 获取历史市盈率的地方
  15. java十进制_JAVA 十进制 转换成 三进制
  16. PHP几大框架的优点与缺点
  17. Mysql相关操作与命令
  18. php保存文件乱码,如何解决php保存文件乱码的问题
  19. 暗恋如烟花,绚烂也落寞
  20. 图嵌入(Graph Embedding)方法小结

热门文章

  1. 2022-2028年中国PET薄膜行业市场深度分析及未来趋势预测报告
  2. eclipse运行maven web项目
  3. pycharm导包错误
  4. list extend 和 append
  5. PyTorch里面的torch.nn.Parameter()
  6. LeetCode简单题之唯一摩尔斯密码词
  7. LeetCode简单题之二叉搜索树的最小绝对差/最小距离
  8. LeetCode简单题之统一一致字符串的数目
  9. LeetCode简单题之棒球比赛
  10. 大三后端暑期实习面经总结——SSM微服务框架篇