RecyclerView 滑动显示返回按钮,点击返回到顶部
底部有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 滑动显示返回按钮,点击返回到顶部相关推荐
- android—ListView与RecyclerView滑动显示和隐藏浮动按钮
效果 自定义悬浮按钮 package cn.tsou.floatingactionbuttondemo.view;import android.content.Context; import andr ...
- android 按钮点击返回顶部,微信浏览器点击系统返回,安卓返回会重载页面回到页面顶部,iOS则返回则会保留之前浏览位置的解决方法...
后续补我框好串端题近还架比作和和近还架比作和和充: 页面css设置了height: 100%,来避免使用fixed定位弹窗引起的部分机型兼容问题,因此会在返回的时候回到页面顶部,补充解决办法: 在弹窗 ...
- android重写返回按钮点击事件,Android Fragment监听返回键
场景:在项目中做联系人界面时,需要按名字和按部门显示联系人,此处使用2个fragment切换显示,按部门显示需要体现部门层级关系,需要实现点击返回上级部门.因为Fragment并不能像在Actvity ...
- ios开发返回按钮消失_iOS开发之自定义导航栏返回按钮右滑返回手势失效的解决...
我相信针对每一个iOS开发者来说~除了根视图控制器外~所有的界面通过导航栏push过去的界面都是可以通过右滑来返回上一个界面~其实~在很多应用和APP中~用户已经习惯了这个功能~然而~作为开发者的我们 ...
- 微信浏览器 返回按钮二次返回
在做微信开发的时候,当通过微信的推送消息(页面1)打开网页后(进入页面2),此时,再次打击链接打开网页(页面3).当点击安卓手机的返回按钮时,可以正常回退到"页面2",但是当点击微 ...
- 第一次点击手机的返回按钮,就返回桌面,不退出程序(详细版)
注:小生是前端,在 使用Android Studio 离线打包app使用中配置的 一.上代码图 二.上代码 public boolean onKeyDown(int keyCode, KeyEvent ...
- 控制微信小程序web view的返回按钮
需求:点击web-view页面的左上角返回按钮时,显示弹窗,点击取消或确认后才能返回.(实际上点击返回按钮会直接返回上一页) 解决方法:由于webview使用的是微信浏览器打开的,我们可以使用js的H ...
- Android标题栏添加返回按钮
1.xml文件布局: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmln ...
- 小程序跳转H5页面没有返回按钮解决方案
公司做了一个小程序,使用webview搭建:页面全部开发完毕后,领导说这个我们得嵌入某某H5活动页.一想,这不很简单.直接把h5页面地址给我不就好了吗.然而问题来了,发现下图的问题了吗???缺少返回按 ...
最新文章
- Csharp: FreeTextbox 编辑器控件运行时错误: 'FTB_ResizeGalleryArea' 未定义
- python安装与开发环境搭建实验总结_python实验一:python环境配置
- Codeforces Round #663 (Div. 2)
- js给标签添加属性和值_jquery节点属性
- 设计趋势|几何元素增加Banner版面率
- 学习JavaScript原型应用
- xcode UIView常用方法属性动画
- SpringMVC+uploadify3.2.1版实现附件上传功能(直接可以使用)
- GD32F407调试SD卡FATFS文件系统
- vue问题解决 extract:echarts: sill extract echarts@^4.2.0-rc.2 extracted to
- 计算机实习生听课记录,舞蹈课实习听课记录
- 防火墙---翻译地址(NAT)
- VB代码窗口鼠标滚轮的使用
- 获取历史市盈率的地方
- java十进制_JAVA 十进制 转换成 三进制
- PHP几大框架的优点与缺点
- Mysql相关操作与命令
- php保存文件乱码,如何解决php保存文件乱码的问题
- 暗恋如烟花,绚烂也落寞
- 图嵌入(Graph Embedding)方法小结