在开发的过程中可能需要用到listview嵌套gridview的场景,但是在Android中, 不能在一个拥有Scrollbar的组件中嵌入另一个拥有Scrollbar的组件,因为这不科学,会混淆滑动事件,导致只显示一到两行数据。那么就换一 种思路,首先让子控件的内容全部显示出来,禁用了它的滚动。如果超过了父控件的范围则显示父控件的scrollbar滚动显示内容,思路是这样,一下是代 码。
具体的方法是自定义GridView组件,继承自GridView。重载onMeasure方法:
 
Java代码  
public class MyGridView extends GridView  
{  
    public MyGridView(android.content.Context context,  
            android.util.AttributeSet attrs)  
    {  
        super(context, attrs);  
    }

/** 
     * 设置不滚动 
     */  
    public void onMeasure(int widthMeasureSpec, int heightMeasureSpec)  
    {  
        int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2,  
                MeasureSpec.AT_MOST);  
        super.onMeasure(widthMeasureSpec, expandSpec);  
  
    }  
  
}

其中onMeasure函数决定了组件显示的高度与宽度;
makeMeasureSpec函数中第一个函数决定布局空间的大小,第二个参数是布局模式
MeasureSpec.AT_MOST的意思就是子控件需要多大的控件就扩展到多大的空间
同样的道理,ListView也适用

最新文章

  1. VS2010开发工具使用技巧<之简单讲解>
  2. [Tool] 插入折叠区域功能
  3. Unity 处理IOC AOP
  4. flex模拟微信布局
  5. java io流 对文件操作
  6. 在DataTable中执行DataTable.Select("条件")返回DataTable;
  7. iOS NSURLConnection和异步网络请求
  8. 利用CGLib实现动态代理实现Spring的AOP
  9. 欧拉计划(1~3)ps:以后看题一定要认真
  10. [ios2] 利用钥匙串,在应用里保存用户密码的方法 【转】
  11. git知识总结-2.git基本操作之操作汇总
  12. 实验四 (1):定义一个形状类(Shape)方法:计算周长,计算面积
  13. [MacOS] Genymotion***下载模拟器方法
  14. Java语言访问Redis数据库之Set篇
  15. nginx-1.13.12 源码配置清单
  16. python3 提示 name ‘reload’ is not defined
  17. Spine Skeleton Animation(2D骨骼动画)
  18. python+机器学习 算法用到的知识点总结
  19. Android设计和开发系列第二篇:Navigation Drawer(Design)
  20. sql存储过程输出

热门文章

  1. 从angularJS看MVVM
  2. Android的进程等级
  3. Android Activity生命周期详讲
  4. 【代码笔记】iOS-对iphone手机进行判断的一些函数
  5. 【代码笔记】iOS-带输入框的UIAlertView
  6. OC中的protocol
  7. 【Android】不使用WebView来执行Javascript脚本(Rhino)
  8. CGAffineTransformMakeRotation 实现旋转
  9. iOS 为视图添加抖动效果
  10. JS获取浏览器名和版本信息