大家做项目的时候一定会遇到控件很多,需要使用ScrollView来嵌套,但是很多时候,ScrollView里面会嵌套ListView,这个时候就会出现滑动冲突的问题,遇到问题怎么解决呢?大家一定首先想到的是百度或者谷歌(由于小编英语较差 ,所以一直用百度),百度答案你就会发现,很多人的回答是乱七八糟,或者统统是复制粘贴别人的,也许看半天才会找到你想要的答案,没有办法。所以小编看了一下官方api,看看api上怎么说的(很多人不知道官方api如何打开,等这篇文章结束的时候再跟大家说说)说正事。解决滑动冲突最简单的方法就是重写ListView,覆盖onMessage方法就行
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {// TODO Auto-generated method stub
int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2,
MeasureSpec.AT_MOST);
super.onMeasure(widthMeasureSpec, expandSpec);
}
原理:设置ListView的高度和宽度,屏蔽他自己的滑动事件,滑动的时候执行的是SroollView的滑动事件。最后在ScrollView.smoothScrollTo(0, 0);让ScrollView滑到最顶端。
最后在告诉大家如何查看官方api,下载sdk的时候,大家已经下载官方api文档,在sdk/docs路径下,大家打开index.html网页的时候发现打不开,默认的连接方式是联网,不会打开本地的文件。因为中国已经禁止谷歌服务器在中国的运行,所以大家在有网状态下不能打开官网api,要使用无网状态,当然不用拔掉网线那么麻烦,只要下载火狐浏览器,点击文件下的脱机操作就行了,这样打开的就是本地的网页了,api就可以访问了。