您的位置:首页 > 其它

ScrollView嵌套GridView、ListView的解决办法

2012-12-25 15:23 423 查看


资源描述:

问题:

在Android开发当中经常会用到了需要ScrollView嵌套GridView或者是ListView的情况,由于这两款控件都自带滚动条,当他们碰到一起的时候便会出问题,即GridView或ListView会显示不全。

解决方案:

自定义GridView或ListView,去掉其滚动条。一下为GridView的例子。

复写GridView:

[java] package com.yang.widget;

import android.content.Context;

import android.util.AttributeSet;

import android.widget.GridView;

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);

}

}

package com.yang.widget;

import android.content.Context;

import android.util.AttributeSet;

import android.widget.GridView;

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:

[html] <com.yang.widget.MyGridView

android:id="@id/bolg_category_gridview"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:gravity="center"

android:horizontalSpacing="5dp"

android:numColumns="4"

android:stretchMode="columnWidth"

android:verticalSpacing="6dp" />

<com.yang.widget.MyGridView

android:id="@id/bolg_category_gridview"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:gravity="center"

android:horizontalSpacing="5dp"

android:numColumns="4"

android:stretchMode="columnWidth"

android:verticalSpacing="6dp" />

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐