zoukankan      html  css  js  c++  java
  • Android开发随笔之ScrollView嵌套GridView[ 转]

    今天在开发中用到了需要ScrollView嵌套GridView的情况,由于这两款控件都自带滚动条,当他们碰到一起的时候便会出问题,即GridView会显示不全,为了解决这个问题查了N多资料,某个谷歌的官方回复竟然是GridView不需要ScrollView,那个牛气冲天啊,可是爷偏偏用到了肿么办呢?!又继续查,神马重写控件重写类的,那代码一坨坨的有木有!!!最后,还是在某人一句很隐晦的提示下得到灵感最终实现。
            首先是布局
    <ScrollView>
           ……
       <LinearLayout>

       </LinearLayout>
           ……
    </ScrollView>
    我们要做的就是自定义一个GridView控件并插入到中间的LinearLayout中
    public class MyGridView extends GridView{
    public MyGridView(Context context, AttributeSet attrs) {
      super(context, attrs);
    }
    public MyGridView(Context context) {
      super(context);
    }
    public MyGridView(Context context, AttributeSet attrs, int defStyle) {
      super(context, attrs, defStyle);
    }
    @Override     
    public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
       
       int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2,
         MeasureSpec.AT_MOST);             
       super.onMeasure(widthMeasureSpec, expandSpec);

    }
    这个自定义控件只是重写了GridView的onMeasure方法,使其不会出现滚动条,ScrollView嵌套ListView也是同样的道理,不再累述

  • 相关阅读:
    MongoDB 安装记录
    Vue.JS 对比其他框架
    CSRF攻击原理以及防御
    浏览器何时发送一个Option请求
    Html5 Canvas核心技术(图形,动画,游戏开发)--基础知识
    CSSOM之getboundingclientrect和getclientrects
    CSSOM之getComputedStyle,currentStyle,getPropertyValue,getAttribute
    nodejs 访问mysql
    HTTP请求中的form data和request payload的区别
    html5 drap & drop
  • 原文地址:https://www.cnblogs.com/xsgame/p/3423017.html
Copyright © 2011-2022 走看看