andorid GridView与scrollView同时使用出现的问题

转载 2012年03月22日 10:07:47

做android程序开发的都知道,不能在一个拥有Scrollbar的组件中嵌入另一个拥有Scrollbar的组件,因为这不科学,会混淆滑动事件,导致只显示一到两行数据。那么就换一种思路,首先让子控件的内容全部显示出来,禁用了它的滚动。如果超过了父控件的范围则显示父控件的scrollbar滚动显示内容,思路是这样,一下是代码。

具体的方法是自定义GridView组件,继承自GridView。重载onMeasure方法:

 

Java代码  收藏代码
  1. public class MyGridView extends GridView  
  2. {  
  3.     public MyGridView(android.content.Context context,  
  4.             android.util.AttributeSet attrs)  
  5.     {  
  6.         super(context, attrs);  
  7.     }  
  8.   
  9.     /** 
  10.      * 设置不滚动 
  11.      */  
  12.     public void onMeasure(int widthMeasureSpec, int heightMeasureSpec)  
  13.     {  
  14.         int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2,  
  15.                 MeasureSpec.AT_MOST);  
  16.         super.onMeasure(widthMeasureSpec, expandSpec);  
  17.   
  18.     }  
  19.   
  20. }  

其中onMeasure函数决定了组件显示的高度与宽度;

makeMeasureSpec函数中第一个函数决定布局空间的大小,第二个参数是布局模式

MeasureSpec.AT_MOST的意思就是子控件需要多大的控件就扩展到多大的空间

 之后在ScrollView中添加这个组件就OK了,同样的道理,ListView也适用。

笔记12--GridView--且解决与ScrollView共用的冲突问题

GridView用法基本逻辑:1)要加载到GridView的数据2)将数据放入适配器3)
  • mwj_88
  • mwj_88
  • 2014年04月07日 11:40
  • 18997

Android的ScrollView下嵌套GridView显示不完全问题处理

在Android中,ScrollView和GridView一起使用的话,会出现GridView显示不完全的问题。针对这一个问题,我们对GridView进行处理。 首先先写一个MyGridView类:...
  • qq_21139343
  • qq_21139343
  • 2016年08月13日 19:10
  • 314

ScrollView 中嵌套 GridView 导致 ScrollView 默认不停留在顶部的解决方案和分析

发生情况大概是我在ScrollView顶部放了一个ViewPager用来做广告Banner,底部放了个GridVie, 来实现一个类似9宫格效果的展示. 然后出现的状况是,当我获取完数据并调用n...
  • richie0006
  • richie0006
  • 2016年03月04日 10:30
  • 609

解决ScrollView下嵌套GridView显示不全的问题

此问题主要是由于GridView都是可滑动的控件,嵌套在ScrollView下时需要重写onMeasure方法。 public class MyGridView extends GridView{ ...
  • cn2007
  • cn2007
  • 2013年11月26日 11:30
  • 6370

Android的GridView和ScrollView的嵌套

来源于回答频道答题,因此内容都是基于回答频道的原题布局进行 1、布局文件如下 文件名:testxm.xml ...
  • danielinbiti
  • danielinbiti
  • 2015年05月24日 22:31
  • 2259

ScrollView与GridView滚动发生冲突

当GridView嵌套在ScrollView里时,发现GridView只显示了一行。这是因为GridView有自己的滚动条,而ScrollView也有自己的滚动条,两者发生了冲突。 解决方法是重写G...
  • u013227064
  • u013227064
  • 2016年04月10日 16:45
  • 293

关于ScrollView嵌套GridView和ListView不能完全显示的问题

最近为公司做的一个Demo里面用到了ScrollView嵌套了GridView和ListView,然而在嵌套的时候我发现GridView和ListView都是不能完全显示,显示的基本上都是单行的数据,...
  • ChaoLi_Chen
  • ChaoLi_Chen
  • 2016年05月05日 10:08
  • 1319

scrollView中放ViewPager和GridView滑动起来,事件冲突的问题。

1.解决ViewPager和ScrollView冲突的问题。判断水平滑动的距离是否大于垂直滑动的距离。如果大于,则,scroll中重写onIntercept,返回false。这样scrollView就...
  • u013680097
  • u013680097
  • 2016年01月25日 10:45
  • 790

scrollview嵌套listview 嵌套HorizontalScrollView嵌套gridview 焦点及卡顿问题

最近项目中用到了scrollview嵌套listview 嵌套HorizontalScrollView嵌套gridview设计,废了九牛二虎之力写好之后就出现各种问题:首先是横向gridview滑动的...
  • zhenweiqi
  • zhenweiqi
  • 2017年05月20日 17:53
  • 515

android开发在ScrollView中的GridView显示问题及原因

android开发中ScrollView里有GridView时,GridView只显示一行,网络上通常的解决方案就是如下代码: public class NoScrollGridView extend...
  • cp25807720
  • cp25807720
  • 2016年11月15日 17:14
  • 243
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:andorid GridView与scrollView同时使用出现的问题
举报原因:
原因补充:

(最多只允许输入30个字)