ScrollView中嵌套ListView或GradView只显示一行解决方法

来源:互联网 发布:c语言调用命令行 编辑:程序博客网 时间:2024/05/19 11:19

这种问题是因为ListView中的onMeasure方法没有测试实际的高度,我们只需重写该方法,设置AT_MOST模式支持最大的高度即可。
实现代码如下:
该方法是解决GradView问题,ListView同理。

public class ScrollGridView extends GridView {    public ScrollGridView(Context context) {        super(context);        // TODO Auto-generated constructor stub    }    public ScrollGridView(Context context, AttributeSet attrs) {          super(context, attrs);          // TODO Auto-generated constructor stub      }      public ScrollGridView(Context context, AttributeSet attrs, int defStyle) {          super(context, attrs, defStyle);          // TODO Auto-generated constructor stub      }      @Override      protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {          // TODO Auto-generated method stub          int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2,                  MeasureSpec.AT_MOST);          super.onMeasure(widthMeasureSpec, expandSpec);      } }
1 0
原创粉丝点击