ScrollView嵌套RecyclerView、ScrollView嵌套Listview、ScrollView嵌套各种布局,默认不在顶部和回到顶部的解决方法;
如果:
ScrollView.scrollTo(0,0);
ScrollView.fullScroll(View.FOCUS_UP) ;
ScrollView.smoothScrollTo(0, 0);
这三种方法都解决不了你的问题,那么请往下看;
布局有点复杂:
最外层是SwipeRefreshLayout嵌套ScrollView再嵌套LinearLayout再嵌套RecyclerView的;因为布局比较复杂,布局的位置还要求用户自己可以调整,使用的是LinearLayout动态添加View的方式,ScrollView让其可以滚动,SwioeRefreshLayout可以让界面下拉刷新;
但是功能都完成时发现ScrollView默认不在顶部;
1、设置了ScrollView.smoothScrollTo(0, 0);后默认在顶部了,但是用户调整布局后,我再动态添加后刷新一下布局ScrollView就又不在顶部了;我又在用户调整布局后,重新调用了一遍ScrollView.smoothScrollTo(0, 0);偶尔还是不在顶部;
2、我使用下面这种方法设置后,还是偶尔不能回到顶部;Handler的方法也是用过了,都不好用;
scrollView.post(new Runnable() {
@Override
public void run() {
scrollView_Owner.smoothScrollTo(0, 0);
}
});
3、我在ScrollView的外层布局(SwipeRefreshLayout)设置:
android:focusable="true"
android:focusableInTouchMode="true"
然后再RecyclerView的外层布局(LinearLayout)设置:
android:descendantFocusability="blocksDescendants"
完美解决!!!
有空来写一下LinearLayout动态添加布局;
附上代码:
- <com.saicmaxus.common.widget.VpSwipeRefreshLayout xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:tools="http://schemas.android.com/tools"
- android:id="@+id/mSwipeRefresh_Owner"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:focusable="true"
- android:focusableInTouchMode="true"
- tools:context="com.saicmaxus.maxuslife.fragment.OwnerFragment2">
- <!--
- 解决srcollView不在顶部的问题
- android:focusable="true"
- android:focusableInTouchMode="true"
- -->
- <ScrollView
- android:id="@+id/scrollView_Owner"
- android:scrollbars="none"
- android:layout_width="match_parent"
- android:layout_height="match_parent">
- <LinearLayout
- android:id="@+id/llOwner"
- android:descendantFocusability="blocksDescendants"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:orientation="vertical"
- >
- <!--
- 解决srcollView不在顶部的问题
- android:descendantFocusability="blocksDescendants"
- -->
- <RelativeLayout
- android:layout_width="match_parent"
- android:layout_height="wrap_content">
- <include
- layout="@layout/view_is_not_owner"/>
- </RelativeLayout>
- </LinearLayout>
- </ScrollView>
- </com.saicmaxus.common.widget.VpSwipeRefreshLayout>
ScrollView嵌套RecyclerView、ScrollView嵌套Listview、ScrollView嵌套各种布局,默认不在顶部和回到顶部的解决方法;的更多相关文章
- listview点击控件显示EditText,键盘弹出消失的解决方法:
1.软键盘弹出后消失解决方法 AndoridManifet 在activity中添加: android:windowSoftInputMode="adjustPan" 2.使用方式 ...
- [Android Pro] ScrollView嵌套RecyclerView时滑动出现的卡顿
reference to : http://zhanglu0574.blog.163.com/blog/static/113651073201641853532259/ ScrollView嵌套Rec ...
- Scrollview 嵌套 RecyclerView 及在Android 5.1版本滑动时 惯性消失问题
标签:scrollview android 滑动 嵌套 scrollview 嵌套recyclerview 时,recyclerview不显示,这就需要我们自己计算recyclerview ...
- ScrollView嵌套recyclerView出现的滑动问题
记得以前在解决scrollView与ListView嵌套问题时,那个时候是自定义了listView去测量listView高度,今天项目中刚 好碰到了要用recycerView,同样也是嵌套在scrol ...
- 解决Scrollview 嵌套recyclerview不能显示,高度不正常的问题
我们先看一个效果,问题说的就是中间的Grid效果在Scrollview 嵌套recyclerview显示问题,在Android Api 24是好的,不过在5,1,1版本(api 22)缺出现了问题 最 ...
- scrollview嵌套下拉控件嵌套recyclerview(不动第三方原基础自定义)
相信会碰到很多类似的需求,一个列表控件,然后控件上方的一个头部需要自定义,这样就不好有时候也不能加在列表控件的头部了,那必须得嵌套一层scrollview了,没毛病,那么一般的列表控件都是有上拉下拉的 ...
- Android在开发中的使用技巧之解决ScrollView嵌套RecyclerView出现的系列问题
根据已上线的app里总结出来的实用小技巧 相信大家都遇到过ScrollView嵌套RecyclerView或者RecyclerView嵌套RecyclerView来使用, 也会遇到一堆奇奇怪怪的问题, ...
- 关于ScrollView嵌套RecyclerView出现item显示不全的问题
最近使用ScrollView时,发现里面嵌套Listview显示不全,试过重写Listview的onMeasure(),并没有起作用.然后将ListView换成RecyclerView后,高度还是显示 ...
- Android 解决ScrollView嵌套RecyclerView导致滑动不流畅的问题
最近做的项目中遇到了ScrollView嵌套RecyclerView,刚写完功能测试,直接卡出翔了,后来通过网上查找资料和 自己的实践,找出了两种方法解决这个问题. 首先来个最简单的方法: recyc ...
随机推荐
- C# 线程:定时器的使用
转载请注明出处:http://www.cnblogs.com/KeenLeung/p/3911556.html Timer类:设置一个定时器,定时执行用户指定的函数. 定时器启动后,系统将自动建立一个 ...
- activiti 委派和转办的区别
委派 委派:是将任务节点分给其他人处理,等其他人处理好之后,委派任务会自动回到委派人的任务中 将hr的任务进行委派: taskService.delegateTask(taskId, userId); ...
- 自建mail服务器之一:dns解析
这个其实不是必须的 1,maradns服务器安装和设置 mararc文件 # Win32-specific MaraRC file; this makes a basic recursive DNS ...
- Centos中iptables和firewall防火墙开启、关闭、查看状态、基本设置等(转)
iptables防火墙 1.基本操作 # 查看防火墙状态 service iptables status # 停止防火墙 service iptables stop # 启动防火墙 servi ...
- java 反射创建实例与new创建实例的区别
new创建实例 new创建一个编译时已知的类的实例,也即是静态的创建实例: 可以调用类的任何构造器来创建实例: 速度更快,由于可以将需要的类写入字节文件中(hardcoded into the byt ...
- hadoop不同版本有哪些
一.Hadoop是什么? 首次听到hadoop这次单词,相信很多人跟我当时是一样,不免心中画上一个大大的问号——这是什么东西?Hadoop是什么?百度百科的解释是:Hadoop是一个由Apache基金 ...
- chrome flash
chrome://settings/content/flash 在Chrome地址栏中输入:chrome://settings/content/flash,进入Flash设置,勾选允许网站运行flas ...
- sqlserver统计日志数目
SELECT COUNT(1) FROM [sys].[fn_dblog](NULL,NULL)
- 值得收藏的JSP连接mysql数据库的例子
1:用mysql驱动把mysql与tomcat的连接起来.把mysql驱动包(不用解压)放到Tomcat安装目录中lib文件夹下即可. 2:然后在自己的新建的web应用程序上面就可以下下面的代码 3: ...
- 测试教程网.unittest教程.5. 实例: 找出所有是弱密码的用户
From: http://www.testclass.net/pyunit/test_example_3/ 背景 当我们的测试数据是下面这些的时候,我们的用例是有问题的. [ {"name& ...