fragment+scrollview 切换fragment自动滚动到顶部

本文介绍了如何在Android应用中,当Fragment切换时,包含ScrollView的Fragment能够自动滚动到顶部。通过设置ScrollView获取焦点,阻止内部 GridView 获取焦点,并在生命周期方法中处理滚动到顶部的逻辑,确保在切换Fragment和返回时都能达到预期效果。同时,作者提到了在布局和代码中双重设置的必要性,并分享了在没有使用ViewPager时,理解和利用Fragment生命周期解决此问题的经验。
摘要由CSDN通过智能技术生成

项目中一个MainActivity 装载了四个Fragment 其中最后一个fragment中包含了一个ScrollView ,ScrollView中还包含了一个GridView(fragment的交替显示用的是隐藏/显示,而不是ViewPager装载fragment,要注意这一点哦)

我的目标是:1: fragment间来回切换时ScrollView自动滑到顶部

                     2: 从包含ScrollView的Fragment中跳转至其他Activity后,返回这个Fragment,fragemt依然自动滑到顶部

                     3: 即使手动将ScrollView滑动至中间部分,以上两条依然成立

解决方案:1,代码中:

设置ScrollView获取焦点:

scrollView.setFocusable(true);
scrollView.setFocusableInTouchMode(true);
ScrollView.requestFocus();

设置我的ScrollView中的GridView不获取焦点:

gridView.setFocusable(false);

设置ScrollView滑到顶部:

scrollView.fullScroll(ScrollView.FOCUS_UP);//这个是设置ScrollView滑动到顶部的一种方案
scrollView.scrollTo(0,0);//这是scrollView滑动到顶部的第二种方案
//这两种的区别就是当用户切换到包含ScrollView的fragment的时候

                
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值