GridView不能添加头布局,并且scrollView与GridView冲突导致一些页面无法融合

此贴为标记贴 方便下次使用

在项目需求中原本是用ScrollView来进行整个页面的滑动,ScrollView里面包含的有图片轮播,文字轮播,与2列GridView的item

问题

使用原生的GridView ,ScrollView与GridView的滑动就成了分开的不能再一起滑动并且还有gridView进到ScrollView下面等小问题

百度后重写GridView的onMeasure函数后出现一次性把数据加载完 导致内存问题。

解决方法 使用RecyclerView代替了GridView  我使用的是PullToRecycler 因为项目还有刷新与加载   在RecyclerView设置GridLayoutManager的时候设置manager的setSpanSizeLookup函数

例如:
final GridLayoutManager gridLayoutManager = new GridLayoutManager(context, 2);/**这里将第一个item也就是添加的heard设置为一行而不是*/gridLayoutManager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() {    @Override    public int getSpanSize(int position) {    //isHeader(position)是从adapter中返回当前的position是不是第一个,然后设置宽度        return adapter.isHeader(position) ? gridLayoutManager.getSpanCount() : 1;    }});recycler_view.setLayoutManager(gridLayoutManager);

adapter的获取是不是第一个函数
public boolean isHeader(int position){    return position == 0;}

添加头不是在下拉后才能看到而是adapter的第一个位置添加头的代码就是pulltoRefresh里

我用的是jingchen大神的需注意

时间: 2024-10-05 14:11:13

GridView不能添加头布局,并且scrollView与GridView冲突导致一些页面无法融合的相关文章

ListView添加头布局和脚布局

 ListView添加头布局和脚布局 之前学习喜马拉雅的时候做的一个小Demo,贴出来,供大家学习参考: 如果我们当前的页面有多个接口.多种布局的话,我们一般的选择无非就是1.多布局:2.各种复杂滑动布局外面套一层ScrollView(好low):3.头布局脚布局.有的时候我们用多布局并不能很好的实现,所以头布局跟脚布局就是我们最好的选择了:学过了ListView的话原理很简单,没啥理解的东西,直接贴代码了: 效果图:                   正文部分布局: fragment_cla

手把手教你给RecycleView添加头布局和尾布局

RecycleView想必大家都不陌生,它已他的高拓展性取代了传统布局显示,同时配合协调布局,可以实现很多意想不到的酷炫交互,今天就和大家介绍一下,如何给RecycleView添加头布局和尾布局,同时你也可以通过自己的拓展实现更多复杂的布局. 首先我们先看一下效果: 实现头部尾部布局其实方法还是很多,这里我推荐使用Adapter设置itemType来做,那么问题来了,为什么这么做呢?因为拓展性更强,并且更加解耦.将逻辑都写在adapter中,比起写在activity中管理起来也更加方便. 首先,

Android 解决下拉刷新控件和ScrollVIew的滑动冲突问题。

最近项目要实现ScrollView中嵌套广告轮播图+RecyleView卡片布局,并且RecyleView按照header和内容的排列样式,因为RecyleView的可扩展性很强,所以我毫无疑问的选择了它,而且让RecyleView实现了可拖拽的效果, 最后我再加上了下拉刷新的效果(这里我用的下拉刷新控件是三方的SmartRefreshLayout).记得刚开始实现这个效果的时候还是十分的得心印手.可是当我测试的时候,发现RecyleView的子item的拖拽效果并不流畅,起初我以 为是由于Re

解决下拉刷新控件和ScrollVIew的滑动冲突问题。

最近项目要实现ScrollView中嵌套广告轮播图+RecyleView卡片布局,并且RecyleView按照header和内容的排列样式,因为RecyleView的可扩展性很强,所以我毫无疑问的选择了它,而且让RecyleView实现了可拖拽的效果, 最后我再加上了下拉刷新的效果(这里我用的下拉刷新控件是三方的SmartRefreshLayout).记得刚开始实现这个效果的时候还是十分的得心印手.可是当我测试的时候,发现RecyleView的子item的拖拽效果并不流畅,起初我以 为是由于Re

scrollview嵌套gridview滑动问题

在开发过程总遇到ScrollView嵌套GridView,由于这两种控件都带有滚动条,当他们碰到一起的时候便会出问题,问题是gridview不滚动,并且只显示两行,为此看了官方文档,谷歌回答滚动里面没必要再加滚动,不符合UI设计.最后还是找到了网上大牛的解决方案才搞定的. 大概写个demo测试了下,还是能嵌套使用的,提前GridView性能好像降低了.如果加载过多,UI加载变的很卡. 主要xml布局为: [html] view plaincopy <span style="font-fam

collectionView怎么添加头视图

我们要使用CollectionView里面的头视图需要先注册头视图 UICollectionReusableView或者 继承UICollectionReusableView的子类,kind类型为UICollectionElementKindSectionHeader,并且需要带一个标识符,我们定义个static 的静态字符串就行,如下所示: [collectionView registerClass:[UICollectionReusableViewclass ]   forSupplemen

Android开发随笔之ScrollView嵌套GridView

在开发过程总遇到ScrollView嵌套GridView,由于这两种控件都带有滚动条,当他们碰到一起的时候便会出问题,问题是gridview不滚动,并且只显示两行,为此看了官方文档,谷歌回答滚动里面没必要再加滚动,不符合UI设计.最后还是找到了网上大牛的解决方案才搞定的. 大概写个demo测试了下,还是能嵌套使用的,提前GridView性能好像降低了.如果加载过多,UI加载变的很卡. 主要xml布局为: <?xml version="1.0" encoding="utf

ScrollView嵌套GridView的解决办法

前些日子在开发中用到了需要ScrollView嵌套GridView的情况,由于这两款控件都自带滚动条,当他们碰到一起的时候便会出问题,即GridView会显示不全. 解决办法,自定义一个GridView控件 public class MyGridView extends GridView { public MyGridView(Context context, AttributeSet attrs) {        super(context, attrs);    } public MyGr

Android开发:ScrollView嵌套GridView的解决办法

Android开发:ScrollView嵌套GridView的解决办法 前些日子在开发中用到了需要ScrollView嵌套GridView的情况,由于这两款控件都自带滚动条,当他们碰到一起的时候便会出问题,即GridView会显示不全. 解决办法,自定义一个GridView控件 public class MyGridView extends GridView {      public MyGridView(Context context, AttributeSet attrs) {