android 关于 ScrollView嵌套GridView,ListView 显示和滑动的问题

来源:互联网 发布:免实名域名注册 编辑:程序博客网 时间:2024/06/05 02:24

         在这个问题上纠结了好久,终于找到解决方法。关键在于重写掉gridview,然后取消gridview的scroll功能。

public class MyGridView extends GridView {        private boolean haveScrollbar = true;        public MyGridView(Context context) {          super(context);      }        public MyGridView(Context context, AttributeSet attrs) {          super(context, attrs);      }        public MyGridView(Context context, AttributeSet attrs, int defStyle) {          super(context, attrs, defStyle);      }        /**      * 设置是否有ScrollBar,当要在ScollView中显示时,应当设置为false。 默认为 true      *       * @param haveScrollbars      */      public void setHaveScrollbar(boolean haveScrollbar) {          this.haveScrollbar = haveScrollbar;      }        @Override      protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {          if (haveScrollbars == false) {              int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST);              super.onMeasure(widthMeasureSpec, expandSpec);          } else {              super.onMeasure(widthMeasureSpec, heightMeasureSpec);          }      }  }  


XML文件:

<com.erp.android.control.NDGridView      android:id="@+id/myGrideView"      android:layout_width="fill_parent"      android:layout_height="wrap_content"      android:layout_gravity="center"      android:columnWidth="100dp"      android:gravity="center"      android:numColumns="auto_fit" >  </com.erp.android.control.MyGridView>  


 

原创粉丝点击